JS 实现抛物线运动

JS实现简单的抛物线动画,需要的童鞋可以参考下

<div class="content">
    <div class="slider">
         <div class="icon">
             <span class="fa fa-circle" id="cart" ></span>  
          </div>
     </div>
</div>
<script>
   // x = 100,y = 400,h = 2000ms
    (function () {
     var x = 100, y = 200
     var $cart = document.querySelector('#cart')
     // 距离底部的位置
     var offsetBottom = document.documentElement.clientHeight 
             - $cart.offsetParent.offsetTop 
             - $cart.offsetHeight

     var xh =500, yh=offsetBottom,p = xh * xh / (-2 * yh) 

     function flicker(){
       // 抛物线公式:x2=-2py
       // x 可以控制速度
       x -= 5
       y = (x * x) / (-2 * p)

       $cart.style.transform = "translate("+ x +"px, "+ y +"px)"

       if (x  > -xh) { 
         requestAnimationFrame(flicker);
       } else {
         $cart.style.transform = "translate(0px, 0px)"
       }
     }
     flicker()
    })()
   </script>

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值