首页 > 语言 > JavaScript > 正文

纯js模拟div层弹性运动的方法

2024-05-06 16:23:49
字体:大 中 小
来源:转载
供稿:网友

这篇文章主要介绍了纯js模拟div层弹性运动的方法,涉及javascript操作div层实现运动的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下

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

特性:

1. 支持各项常数自定义

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

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

  1. <html> 
  2. <head> 
  3. <meta http-equiv=Content-Type content="text/html;charset=utf-8"> 
  4. <script type="text/javascript"> 
  5. var a=900;//最大距离 
  6. var b;//定时器变量 
  7. var c=-1;//下次点击运动方向 -1负向运动 1正向运动 
  8. var d=2; //反弹常量 数值越大弹性越小 取值d>1 
  9. var e=-1; //当前运动方向 
  10. var f=a; //当前位置 
  11. var g=0; //已单向运动时间 
  12. var h; //弹性体 
  13. var i=15;//运动速度 数值越大,运动越慢 
  14. function Bounce(id){ 
  15. h=document.getElementById(id); 
  16. //终止未完成的运动 
  17. if(b)clearInterval(b); 
  18. //重置时间 
  19. g=0; 
  20. c=-1*c; //下次点击运动方向改变 
  21. b=setInterval('move()',i); 
  22. } 
  23. function move(){ 
  24. if(c==1){ 
  25. if(e==-1){ 
  26. if(f-(2*g-1)>0){ 
  27. f=f-(2*g-1); 
  28. g++; 
  29. }else{ 
  30. e=1; 
  31. f=1; 
  32. g++; 
  33. g=parseInt(g/d); 
  34. g=g%2==0?(g+1):g; 
  35. if(g==3)clearInterval(b); 
  36. } 
  37. }else{ 
  38. if(g>0){ 
  39. g--; 
  40. f=f+2*g-1; 
  41. }else{ 
  42. e=-1; 
  43. g=0; 
  44. } 
  45. } 
  46. h.style.width=f.toString()+"px"; 
  47. }else{ 
  48. if(e==1){ 
  49. if(f+(2*g-1)<a){ 
  50. f=f+(2*g-1); 
  51. g++; 
  52. }else{ 
  53. e=-1; 
  54. f=a; 
  55. g++; 
  56. g=parseInt(g/d); 
  57. g=g%2==0?(g+1):g; 
  58. if(g==1)clearInterval(b); 
  59. } 
  60. }else{ 
  61. if(g>0){ 
  62. g--; 
  63. f=f-(2*g-1); 
  64. }else{ 
  65. e=1; 
  66. g=0; 
  67. } 
  68. } 
  69. h.style.width=f.toString()+"px"; 
  70. } 
  71. } 
  72. </script> 
  73. </head> 
  74. <body> 
  75. <div style="color:red;font-size:12px;text-align:center;"> 
  76. <div style="text-align:left;color:green;margin:50px 300px;"> 
  77. 特性:<br> * 支持各项常数自定义 <br> * 理论支持所有元素,只需修改style.width,你懂得<br> * 已知支持浏览器:chrome/firefox/IE7、8、9 
  78. </div> 
  79. </div> 
  80. <input type="button" value="click me" onClick="Bounce('test');" style="text-align:center;border:1px #ccc solid;padding:5px 10px;margin:0px 200px 100px 200px;"/> 
  81. <div style="width:900px;height:200px;margin:0px 200px;background-color:#e8e8e8;border:1px #ccc solid;" id="test" onClick="Bounce('test');"></div> 
  82. </body> 
  83. </html> 


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


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选