前端,谁解决了,我叫他爸爸!!

问题如下:

图片描述

中间发生了什么啊?????


完整js代码
obj:移动的对象
target:目标地址

作用:为了让传入的对象进行匀速移动!

        function play(obj,target) {
            //清除以前定时器!
            clearInterval(obj.timer);
            //如果目标位置是0 并且 obj的obj
            //判断方向
            var speed = obj.offsetLeft > target ? -5:5;
            //开始动画
            obj.timer = setInterval(function () {
                //设置给obj的left让他移动
                //=======================
                console.log(obj.offsetLeft + "," +speed);
                obj.style.left = obj.offsetLeft + speed + "px";
                console.log(obj.offsetLeft + "," +speed);
                //=======================
                var cha = Math.abs(obj.offsetLeft - target);
                console.log("c:"+cha);
                clearInterval(obj.timer);
                if(cha <= 5){
                    //直接给出位置
                    obj.style.left = target + "px";
                    //清除定时器
                    clearInterval(obj.timer);
                }
            },10);
        }

谁来调试。。鼠标指向1的时候
www.laki.pw

为什么在webstorm中显示的是6呢?我上传上去显示5?
图片描述
图片描述

总结: 原来尼玛是webstorm的原因,不知道它为什么执行结果会这样!搞了我一下午!

阅读 2.9k
3 个回答

我这调用play(obj,0),输出的都是0,5

clipboard.png

是不是初始的obj的left为-1px,然后父元素padding为1px

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题