为什么鼠标移开时,会出现不停抖动

来源:2-1 JS速度动画

哇哈哈酒玩哈哈

2017-02-24 14:57

window.onload=function(){

var divv=document.getElementById("div1");

   divv.onmouseover =function(){

    startMove(10,0);


   }

   divv.onmouseout=function(){

    startMove(-10,-200);

   }

}

 var timer=null;

function startMove(speed,Target){


clearInterval(timer);

divv=document.getElementById("div1");

setInterval(function(){

if (divv.offsetLeft == Target) {

clearInterval(timer);

}else{

divv.style.left=divv.offsetLeft+speed+'px';

}

},30)

}


写回答 关注

2回答

  • 蜗牛禾木
    2017-02-24 15:45:45
    已采纳

    timer=setInterval(function() { //定时器赋值给timer,要不然timer一直都是null吧;

                if (divv.offsetLeft == Target) {

                    clearInterval(timer);

                } else {

                    divv.style.left = divv.offsetLeft + speed + 'px';

                }

            }, 30)


    哇哈哈酒玩哈...

    非常感谢!

    2017-03-01 21:22:58

    共 1 条回复 >

  • 慕后端7884698
    2017-02-25 19:45:54

    鼠标移开时,不停抖动,上一次的计时器还在运行吧

JS动画效果

通过本课程JS动画的学习,从简单动画开始,逐步深入各种动画框架封装

113925 学习 · 1443 问题

查看课程

相似问题