缓冲运动的简单封装

Posted 北漂阿猫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了缓冲运动的简单封装相关的知识,希望对你有一定的参考价值。

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
</head>
<style>
    div {
        width: 100px;
        height: 100px;
        background-color: pink;
        position: absolute;
        left: 0;
    }
</style>
<body>
    <button>运动到200</button>
    <button>运动到400</button>
    <div></div>
    <script>
        window.onload=function(){
            var btn = document.getElementsByTagName("button");
            var div = document.getElementsByTagName("div")[0];


            btn[0].onclick = function () {
                animent(div,200);
            }

            btn[1].onclick = function () {
                animent(div,400);
            }

            function animent(ele,target){
                clearInterval(ele.timer);

                ele.timer=setInterval(function(){
                    var speed=(target-ele.offsetLeft)/10;

                    speed=speed>0?Math.ceil(speed):Math.floor(speed);

                    ele.style.left=ele.offsetLeft+speed+"px";
                    console.log(1)

                    if(Math.abs(target-ele.offsetLeft)<=Math.abs(speed)){
                        ele.style.left=target+"px";
                        clearInterval(ele.timer);
                    }

                },10)

            }

        }


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

  

以上是关于缓冲运动的简单封装的主要内容,如果未能解决你的问题,请参考以下文章

JS运动缓冲的封装函数

缓冲运动以及方法的封装

缓冲运动的封装--简易.js

JS函数封装

js的运动及封装

Javascript动画效果