通过js使用动画曲线

 <!DOCTYPE html><htmllang="zh-cn"><head><metacharset="UTF-8"><title>通过js使用动画曲线</title><style>#ball {
 position: absolute;
 width: 20px;
 height: 20px;
 border-radius: 20px;
 background-color: red;
 }</style></head>
 <html>
 <body>
 <div id="ball"></div>
 <script type="text/javascript">
 var Tween = {
 "Elastic" : {
 easeOut: function(t, b, c, d, a, p) {
 var s;
 if(t == 0) return b;
 if((t /= d) == 1) return b + c;
 if(typeof p == "undefined") p = d * .3;
 if(!a || a < Math.abs(c)) {
 a = c;
 s = p / 4;
 } else {
 s = p / (2 * Math.PI) * Math.asin(c / a);
 }
 return(a * Math.pow(2, -10 * t) * Math.sin((t * d - s) * (2 * Math.PI) / p) + c + b);
 }
 }
 };
  
 var ball = document.getElementById("ball")
 var elasticFall = function() {
 var start = 0,
 beginingValue = 0,
 changeValue = 400,
 during = 100;
 var _run= function() {
 start++;
 var top = Tween.Elastic.easeOut(start, beginingValue, changeValue, during);
 ball.style.webkitTransform = "translateY("+top+"px)";
 if(start < during) requestAnimationFrame(_run);
 }
 _run();
 };
 elasticFall();
 </script>
 </body>
 

</html><script></script></html>


https://github.com/zhangxinxu/Tween/blob/master/tween.js

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值