码迷,mamicode.com
首页 > 编程语言 > 详细

javascript实现的窗口抖动代码实例

时间:2016-01-03 10:57:00      阅读:267      评论:0      收藏:0      [点我收藏+]

标签:

javascript实现的窗口抖动代码实例:
窗口抖动效果在很多地方都有应用,例如网易的登陆窗口就有这样的效果,当登陆失败的时候就会出现抖动效果,这不但有动感,而且让人感觉新颖,下面是一段这样的代码实例,和大家分享一下。
代码如下:

 

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8"/>
<meta name="author" content="http://www.softwhy.com/" />
<title>窗口登陆效果-蚂蚁部落</title>
<style type="text/css">
#win
{
  position:relative;
  width:100px;
  height:100px;
  background-color:#666;
}
</style>
<script type="text/javascript"> 
var a=[top,left];
var b=0; 
var u;
function fudu()
{ 
  win.style[a[b%2]]=(b++)%4<2?"0px":"4px"; 
  if(b>15)
  {
    clearInterval(u);
    b=0
  } 
}
function zd()
{
  clearInterval(u); 
  u=setInterval(fudu,32) 
} 
window.onload=function()
{
  var bt=document.getElementById("bt");
  var win=document.getElementById("win");
  bt.onclick=zd;
}
</script> 
</head> 
<body > 
<button id="bt">点击振动</button> 
<div id="win"></div> 
</body> 
</html>

 

以上代码中,当点击按钮的时候,div会出现抖动效果,当然此效果比较简单,这里仅仅是演示之用,在实际应用中可以自行扩展,下面简单介绍一下实现过程。
一.实现原理:
代码简单,原理也是非常简单。div是采用相对定位,当点击按钮的时候,就会通过定时器函数setInterval()不断调用fudu()函数,此函数可以通过取模的方式来不断的设置left或者top的属性值,也就是不断随机的调整div的位置,这样就实现了抖动效果,当b的值大于15的时候,停止抖动。
二.代码注释:
1.var a=[‘top‘,‘left‘],声明一个数组,里面存储有top和left字符串。
2.var b=0,声明一个变量b并赋值为0。
3.var u,声明一个变量,作为定时器函数setInterval()的返回值。
4.function fudu(){},声明一个函数。
5.win.style[a[b%2]]=(b++)%4<2?"0px":"4px",此段代码是核心部分,b%2取模运算的值为0或1,这样就成为数组a的索引值用于获取数组中的值。style[a[b%]这种形式和style.top这种形式的效果是一样的。]]=(b++)%4<2?"0px":"4px",这样通过取模判断值是否小于2,来对div的top和left属性赋值。
6.if(b>15) {clearInterval(u); b=0} ,如果b的值大于15,那么就停止抖动,并将b的值重置为0。
7.function zd(){},声明一个函数。
8.clearInterval(u),停止定时器函数的运行,这句代码是为了防止连续点击按钮出现抖动可能不停止问题,因为两个抖动互相影响。
9.u=setInterval(fudu,30),使用定时器函数不断调用fudu函数。
10.window.onload=function(){},当文档内容完全加载完毕再去执行函数中的代码。
11.var bt=document.getElementById("bt"),获取按钮对象。
12.var win=document.getElementById("win"),获取div对象。
13.bt.onclick=zd,为按钮注册事件处理函数。
三.相关阅读:
1.setInterval()函数可以参阅setInterval()函数用法详解一章节。
2.clearInterval()函数可以参阅window对象的clearInterval()方法一章节。
3.三运算符可以参阅三元运算符用法详解一章节。

原文地址是:http://www.softwhy.com/forum.php?mod=viewthread&tid=8896

更多内容可以参阅:http://www.softwhy.com/javascript/

 

javascript实现的窗口抖动代码实例

标签:

原文地址:http://www.cnblogs.com/nulifendou/p/5095854.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!