为了账号安全,请及时绑定邮箱和手机立即绑定

鼠标移出后div继续向右移动怎么回事

var timer=null;
window.onload=function () {
   var oDiv=document.getElementById('div1');
   oDiv.onmouseover=function () {
       startMove(0);
   }
   oDiv.onmouseout=function () {
       startMove(-200);
   }
}
function startMove(iTarget) {
   clearInterval(timer);
   var oDiv=document.getElementById('div1');


   timer=setInterval(function () {
       var speed=0;
       if (oDiv.style.left>iTarget){
           speed=-10;
       }else {
           speed=10;
       }
       if (oDiv.offsetLeft==iTarget){
           clearInterval(timer);
       }else{
           oDiv.style.left=oDiv.offsetLeft+speed+'px';
       }
   },30)
}

正在回答

2 回答

    function moveS(iTarget){
        var div1=document.getElementById('div1');
        clearInterval(timer);
        timer=setInterval(function(){
            var speed;
            if(div1.offsetLeft>iTarget){
                speed=-10;
            }else{
                speed=10;
            }
            if(div1.offsetLeft==iTarget ){
                clearInterval(timer);
            }else{
                div1.style.left=div1.offsetLeft + speed + 'px';
            }

        },30)
    }

0 回复 有任何疑惑可以回复我~

当他完全右移出来后 你没有判断

加一句

if(oDiv.offsetLeft==0) {

clearInterval(timer);}

让计时器停止工作就行了


0 回复 有任何疑惑可以回复我~
#1

慕丝7289332 提问者

知道哪里错了 if (oDiv.style.left>iTarget)这个判断条件错了,应该是if(oDiv.offsetLeft>iTarget)
2016-08-03 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

鼠标移出后div继续向右移动怎么回事

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信