js实现自由落体
Posted Orange
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js实现自由落体相关的知识,希望对你有一定的参考价值。
实现自由落体运动需要理解的几个简单属性:
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>
转自:
javascript---之自由落体运动实现
以上是关于js实现自由落体的主要内容,如果未能解决你的问题,请参考以下文章
HTML或JS代码如何实现让一个table的表头不动,body可以自由上下左右滚动,同时保持表头与body的宽度一致?