前言:視窗震動的應用是很常見的,例如最常用的聊天軟體qq,就有一個視窗抖動,還有在填表單時的出錯提醒,所以自己也寫了個很簡單的範例,以下是具體的程式碼
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>窗口震动</title> </head> <body> <div style="background:#ff0; width:200px; height:200px; margin-top:200px; margin-left:600px" id="win"></div> <script type="text/javascript"> var loop = 0; //统计震动次数 var timer; //定时器引用 var offx; //水平偏移量 var offy; //垂直偏移量 var dir; //控制震动方向 timer = setInterval(function(){ var win = document.getElementById("win"); if (loop > 100) { clearInterval(timer); //震动次数超过100就停止定时器 } dir = Math.random()*10 > 5 ? 1 : -1; //获得震动方向 offx = Math.random()*20*dir; offy = Math.random()*20*dir; win.style.marginTop = 200+offx+"px"; win.style.marginLeft = 600+offy+"px"; loop++; },10) //每隔10毫秒震动一次 </script> </body> </html>
在程式碼中主要就是利用隨機數來控制抖動的方向和範圍,還有用setInterval函數來設定抖動的頻率,以及loop變數設定一次抖動的次數。自己可以依照實際需求來設定抖動的頻率,範圍,和次數。