oDiv.style.left = oDiv.offsetLeft+10+'px';

来源:2-1 JS速度动画

解垢

2016-11-15 12:15

window.onload=function(){

var oDiv=document.getElementById('div1');

oDiv.onmouseover=function(){

startMove();

}

}

var timer=null;

function startMove(){

var oDiv=document.getElementById('div1');

timer=setInerval(function({

        oDiv.style.left = oDiv.offsetLeft+10+'px';

    },30)

}

 oDiv.style.left = oDiv.offsetLeft+10+'px';在浏览器中报错导致无法生成动画效果是为什么

写回答 关注

4回答

  • Jack_小白菜
    2016-12-19 15:37:26

    setInerval不是这个

    setInterval这个

  • 解垢
    2016-11-16 09:04:47

    十分感谢

  • 慕粉4243814
    2016-11-15 14:46:48

    函数体也有问题,我写的JS部分代码是这样的

    window.onload=function(){

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

    oDiv.onmouseover=function(){

    startMove(0);

    }

    oDiv.onmouseout=function(){

    startMove(-200);

    }

    }


    var timer=null;//注意

    function startMove(iTarget){

    var oDiv=document.getElementById("div1");//注意

    var speed=0;

    if(oDiv.offsetLeft>iTarget){

    speed=-10;

    }

    else{

    speed=10;

    }

    clearInterval(timer);//清除定时器影响因素

    timer=setInterval(function(){

    if(oDiv.offsetLeft==iTarget){

    clearInterval(timer);

    }

    else{

    oDiv.style.left=oDiv.offsetLeft+speed+'px';//注意加上px

    }

    },30);

    }


  • 慕粉4243814
    2016-11-15 14:43:19

    第十行timer=setInerval(function({有个小错误,应该是timer=setInerval(function(){

JS动画效果

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

113925 学习 · 1443 问题

查看课程

相似问题