哪里不对啊,离开缩不回去了好奇怪

来源:2-1 JS速度动画

慕仙5237505

2017-10-31 21:29

window.onload=function(){
                 odiv=document.getElementById("div1");
                 odiv.onmouseover=function(){
                     //move(10,0);
                     move(0);
                 }
                 odiv.onmouseout=function(){
                     //out();
                     //move(-10,-200);
                     move(-200);
                 }
             }
             var timer=null;
             function move(target){
                 clearInterval(timer);
                 odiv=document.getElementById("div1");
                 timer = setInterval(function(){
                     var speed=0;
                     if(odiv.offsetLeft>target){
                         speed = -10;
                     }else{
                         speed=10;
                     }
                     if(odiv.offsetLeft>=target){
                         clearInterval(timer);
                     }else{
                         odiv.style.left =odiv.offsetLeft + speed+"px"; //变大
                     }
                     
                 },500);
             }
            

写回答 关注

1回答

  • 德川家康
    2017-11-01 21:52:52
    已采纳

    当div完全显示的时候,odiv.offsetleft为0,想让它缩回去,你设target为-200,然而你判断条件是odiv.offsetLeft>=target,条件成立,执行  clearInterval(timer);,自然缩不回去。

    慕仙5237...

    非常感谢!谢谢,确实错那了厉害

    2017-11-02 10:02:05

    共 1 条回复 >

JS动画效果

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

113925 学习 · 1443 问题

查看课程

相似问题