纯js模拟div层弹性运动的方法
纯js模拟div层弹性运动的方法
发布时间:2016-12-30 来源:查字典编辑
摘要:本文实例讲述了纯js模拟div层弹性运动的方法。分享给大家供大家参考。具体如下:特性:1.支持各项常数自定义2.理论支持所有元素,只需修改s...

本文实例讲述了纯js模拟div层弹性运动的方法。分享给大家供大家参考。具体如下:

特性:

1. 支持各项常数自定义

2. 理论支持所有元素,只需修改style.width,你懂得

3. 已知支持浏览器:chrome/firefox/IE7、8、9

<html> <head> <meta http-equiv=Content-Type content="text/html;charset=utf-8"> <script type="text/javascript"> var a=900;//最大距离 var b;//定时器变量 var c=-1;//下次点击运动方向 -1负向运动 1正向运动 var d=2; //反弹常量 数值越大弹性越小 取值d>1 var e=-1; //当前运动方向 var f=a; //当前位置 var g=0; //已单向运动时间 var h; //弹性体 var i=15;//运动速度 数值越大,运动越慢 function Bounce(id){ h=document.getElementById(id); //终止未完成的运动 if(b)clearInterval(b); //重置时间 g=0; c=-1*c; //下次点击运动方向改变 b=setInterval('move()',i); } function move(){ if(c==1){ if(e==-1){ if(f-(2*g-1)>0){ f=f-(2*g-1); g++; }else{ e=1; f=1; g++; g=parseInt(g/d); g=g%2==0?(g+1):g; if(g==3)clearInterval(b); } }else{ if(g>0){ g--; f=f+2*g-1; }else{ e=-1; g=0; } } h.style.width=f.toString()+"px"; }else{ if(e==1){ if(f+(2*g-1)<a){ f=f+(2*g-1); g++; }else{ e=-1; f=a; g++; g=parseInt(g/d); g=g%2==0?(g+1):g; if(g==1)clearInterval(b); } }else{ if(g>0){ g--; f=f-(2*g-1); }else{ e=1; g=0; } } h.style.width=f.toString()+"px"; } } </script> </head> <body> <div> <div> 特性:<br> * 支持各项常数自定义 <br> * 理论支持所有元素,只需修改style.width,你懂得<br> * 已知支持浏览器:chrome/firefox/IE7、8、9 </div> </div> <input type="button" value="click me"/> <div id="test"></div> </body> </html>

希望本文所述对大家的javascript程序设计有所帮助。

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新Javascript教程学习
热门Javascript教程学习
编程开发子分类