javascript - 前端,谁解决了,我叫他爸爸!!
大家讲道理
大家讲道理 2017-04-11 12:27:42
[JavaScript讨论组]

问题如下:

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


完整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的原因,不知道它为什么执行结果会这样!搞了我一下午!

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(3)
高洛峰

target=?

怪我咯

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

PHP中文网

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号