实现自由落体运动需要理解的几个简单属性:
clientHeight:浏览器客户端整体高度
offsetHeight:对象(比如div)的高度
offsetTop:对象离客户端最顶端的距离
1 <!doctype html>
2 <html lang="en">
3 <head>
4 <meta charset="UTF-8">
5 <title>free_movement</title>
6 <style type="text/css">
7 #div1{
8 position: absolute;
9 height: 100px;
10 width: 100px;
11 background: red;
12 }
13 </style>
14 <script type="text/javascript">
15 window.onload=function () { 16 var btn=document.getElementById('btn'); 17 var div1=document.getElementById('div1'); 18
19 var Time=null; 20 var speed=0; 21 btn.onclick=function () { 22 startMove(); 23 } 24
25 function startMove () { 26 clearInterval(Time); //clearTnterval(Time)://防止多次点击事件的产生
27 Time=setInterval(function(){ 28 speed+= 3; 29 var T = div1.offsetTop + speed; 30 if(T > document.documentElement.clientHeight - div1.offsetHeight){ 31 T = document.documentElement.clientHeight - div1.offsetHeight; 32 speed *= -1; 33 speed *= 0.75; 34 } 35 div1.style.top=T+'px'; 36 }, 30) 37 } 38 } 39 </script>
40 </head>
41 <body>
42 <input type='button' value='开始运动' id="btn">
43 <div id="div1"></div>
44 </body>
45 </html>
转自: