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

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/

时间: 2024-08-06 00:18:32

javascript实现的窗口抖动代码实例的相关文章

javascript如何获取链接参数代码实例

javascript如何获取链接参数代码实例:使用url传递参数,大家应该不陌生,例如: http://www.softwhy.com/home.php?mod=space&do=home&view=all 既然传递参数,那么自然就要获得传递的参数,当然获取参数的方式有多种多样,下面就介绍其中的一种,和大家一起分享,希望能够给大家带来一定的帮助,代码如下: var url="http://www.softwhy.com/home.php?mod=space&do=home

javascript获得url链接参数值代码实例

javascript获得url链接参数值代码实例:在网页中有可能需要获得url传递的参数的值以便进行处理,下面就是一段能够实现此功能的代码供大家分享,有需要的可以参考一下.代码实例如下: <script type="text/javascript"> function getObject(objectId) { if(document.getElementById && document.getElementById(objectId)){ return d

javascript弹出可以拖动的窗口代码实例

javascript弹出可以拖动的窗口代码实例: 在很多网页效果中,点击网页的某个地方能够弹出一个窗口,并且能够在屏幕中随便拖动,非常的人性化,下面就是一段能够实现此功能的代码实例,希望能够对大家带来帮助,代码如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.

javascript删除一个html元素节点代码实例

javascript删除一个html元素节点代码实例:本章节介绍一下如何利用原生javascript实现删除一个指定的html元素.代码实例如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title&

javascript添加或者删除table表格行代码实例

javascript添加或者删除table表格行代码实例:表格是常用的元素,虽然在布局中已经鲜有使用,已经基本被div css所取代,但是在组织表格数据方面还是有很大的优势的,比使用div css要来的方便,添加或者删除一行也就是其中的tr更是最为常见的操作,下面就通过代码实例简单介绍一下如何实现此效果.代码如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta

javascript实现保留两位小数一位自动补零代码实例

javascript实现保留两位小数一位自动补零代码实例:本章节介绍一下如何实现对数字保留两位小数效果,如果数字的原本小数位数不到两位,那么缺少的就自动补零,这个也是为了统一的效果,先看代码实例: function returnFloat(value){ var value=Math.round(parseFloat(value)*100)/100; var xsd=value.toString().split("."); if(xsd.length==1){ value=value.

javascript实现的分页代码实例

javascript实现的分页代码实例: 下面是一段javascript实现的分页代码,当然必须要结合后台代码实现.大家可以自行分析一下代码,希望能够给大家带来一定的帮助,代码如下: <script type="text/javascript"> function setPage(opt) { if(!opt.pageDivId || opt.allPageNum < opt.curpageNum || opt.allPageNum < opt.showPage

javascript实现的网站访问量统计代码实例

javascript实现的网站访问量统计代码实例: 作为一个网站的管理员或者说站长,都希望知道到底有多少人访问了网站,这个时候就需要有一个统计功能来满足需要,当然功能比较单一和简单,如果想要强大的统计效果,那最好还是使用现在比较成熟的功统计工具,比如站长统计或者腾讯统计等等. 代码如下: <script type="text/javascript"> var caution=false function setCookie(name,value,expires,path,d

javascript瀑布流代码实例

javascript瀑布流代码实例:现在瀑布流效果大行其道,各种网站都有应用,尤其是专业的图片类型的网站,本站在特效下载专区也有此应用,当然实现此效果的方法有多种,下面是一段瀑布流代码实例供大家参考. <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title&