js缓动动画封装的示例分析

  介绍

这篇文章主要介绍js缓动动画封装的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

主要用到offsetLeft, Math.ceil, Math.floor Math.abs。

注意offsetLeft获取到的的值为四舍五入的风格。剩下的数值,offsetLeft=Math.round (style.left的数值部分)比如风格。左=369.4 px,获取到的offsetLeft=369。

& lt; ! doctype  html>   & lt; html  lang=癳n"祝辞   & lt; head>   & lt; meta  charset=癠TF-8"祝辞   & lt; title>缓动动画& lt;/title>   & lt; style>   # slow_action  {   宽度:100 px;   身高:100 px;   背景:,粉色;   位置:绝对的;   }   & lt;/style>   & lt;/head>   & lt; body>   & lt; button  id=癰tn1"祝辞运动到400 & lt;/button>   & lt; button  id=癰tn2"祝辞运动到0 & lt;/button>   & lt; p  id=皊low_action"祝辞& lt;/p>   & lt;/body>   & lt; script>   var  btn1 =, . getelementbyid (“btn1")   var  btn2 =, . getelementbyid (“btn2")   var  p =, . getelementbyid (“slow_action")/* *   *,动画原理,=,盒子位置,+,步长(步长越来越小)   ,,,*,盒子位置,=,盒子本身的位置,+,(目标位置,安康;盒子本身位置)/10   */时间=btn1.onclick  function  (), {   fn (p, 400)   }   时间=btn2.onclick  function  (), {   fn (p, 0)   }   function  fn(避署,目标),{   clearInterval (ele.timer);   时间=ele.timer  setInterval (function  (), {//,var  target =, 400;//最后10像素都是1 px向目标位置移动,最后到达指定位置   var  step =, (target 作用;ele.offsetLeft)/10;//差值大于10的时候向上取整,小于0的时候向下取整   时间=step  step 祝辞,0,?,Math.ceil(步骤),:,Math.floor(步骤)   +=ele.style.left  ele.offsetLeft  step  +,“px";//检测定时器是否停止   console.log (1)//跳出条件,目标位置,当前位置的绝对值,小于步长   如果(Math.abs (target 作用;ele.offsetLeft), & lt;, Math.abs(步骤),{   +=ele.style.left  target “px";   clearInterval (ele.timer)   }   },,30);   }   & lt;/script>   & lt;/html>

以上是“js缓动动画封装的示例分析”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

js缓动动画封装的示例分析