js之左右移动的动画的函数封装

function move(ele,end,step){
    //var step = 10
    //先清除定时器,从而防止定时器的叠加
    clearInterval(timer);
    //设置定时器
    //1.获取起点
    var start = parseInt(getStyle(ele,'left'));//1000
    //2.处理步长
    if(end > start){
            step = step
        }
        else if(end < start){
            step = -step;//10 由于我们将step的处理代码放在了定时器中,导致定时器会将step先转换为负数,之后,再进行取负
        }
    timer = setInterval(function(){
        //让div向前走一步
        //3.迈出第一只脚  计算下一步落点
        start += step;//990
        //5.到终点结束
        if(start>=end&&step>0){//当前判断只是用来判断正向移动
            //如果步长为正 表示运动方向为正方向,这时如果下一步位置大于等于终点,才叫到达终点
            start = end;
            clearInterval(timer);
        }else if(start<=end && step<0){
            //如果步长为负,表示运动方向为反方向,这是如果下一步位置小于等于终点,才叫到达终点
            start = end;
            clearInterval(timer);
        }
        //4.迈出第二只脚  定位div
        ele.style.left = start + 'px'
    },20)
}

 

posted @   JackieDYH  阅读(14)  评论(0编辑  收藏  举报  
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示