js-元素在X轴上的平移动画

2019-08-01  本文已影响0人  AssertDo
           //元素在X轴上的平移动画,传入元素和目标位置
            function moveAnimate(element,target){
                //先清理定时器
                clearInterval(element.timerId);
                //给元素添加timerId属性,防止创建多个定时器以至于最后销毁不了
                element.timerId = window.setInterval(function(){
                    
                    //获取到元素的当前位置 没有px
                    var current = element.offsetLeft;
                    //每次走的步数
                    var step = 10;
                    //判断目标位置是否大于当前位置
                    step = target > current ? step : -step;
                    //移动到目标位置
                    current += step;
                    if(Math.abs(target - current) > Math.abs(step)){
                        element.style.left = current + "px";
                    }else{
                        //销毁定时器
                        window.clearInterval(element.timerId);
                        //让元素走到目标位置
                        element.style.left = target + "px";
                    }

                },20);
                
            }
上一篇下一篇

猜你喜欢

热点阅读