JS实现一个物体的自由落体

代码如下

<!DOCTYPE html>  
< html  lang= "zh-cn">  
< head>  
    < meta  charset= "UTF-8">  
    < title>HTML5+CSS3练习</ title>  
   
</ head>  
< body>  
   < title></ title>  
< p>横向系数:< input  id= "hp"  type= "text"  value= "0.1" /> (0-1)</ p>  
< p>纵向系数:< input  id= "vp"  type= "text"  value= "0.6" /> (0-1)</ p>  
< p>速度:< input  id= "sp"  type= "text"  value= "30" />(20-1000)  
< input  type= "button"  value= "demo"  onclick= "demo(document.getElementById('hp').value, document.getElementById('vp').value, document.getElementById('sp').value)" /></ p>  
< div  style= "margin-left:600px;">  
    < div  id= "fall"  style= "width:30px; height:30px; background:#f90; position:relative; right:0px; bottom:40px"></ div>  
</ div>  
< script  type= "text/javascript">  
var i  =  null;  
function  demo( hp, vp, sp) {  
     var f =document. getElementById( 'fall');  
        f.style.right = '0px';  
        f.style.bottom = '40px';  
        i && clearInterval(i);  
     var h = 1,v = 1,hp =(hp > 0 &&hp < 1) ?hp : 0.2,vp =(vp > 0 &&vp < 1) ?vp : 0.5,sp =(sp > 20  || sp < 1000) ?sp : 30;  
        i = setInterval( function(){  
             if(f){  
                 var r = parseInt(f.style.right) +h,b = parseInt(f.style.bottom) -v;  
                f.style.right =r + 'px';  
                f.style.bottom =b + 'px';  
                 if(r > 1000) clearInterval(i);  
                 if(b >- 210){  
                    v += 2  
                }  else {  
                    h =(v > 0) ?v *hp : 0;  
                    v *=(v > 0) ?- 1 *vp : 0  
                }  
            }  
        },sp);  
    }  
</ script>  
      
</ body>  
</ html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值