问答详情
源自:4-1 JS多物体动画

有关oBox[i].timer=null;的 问题?

有关oBox[i].timer=null;的 问题?

55c9b3620001c5fa02910200.jpg

55c9b3620001cfd405000079.jpg

<script>
    window.onload=function(){
    <!--    var timer;-->
        var oBox=document.getElementsByTagName("div");
        for(var i=0;i<=oBox.length;i++){
        oBox[i].timer=null;
        oBox[i].onmouseover=function(){startMove(this,300);};
        oBox[i].onmouseout=function(){startMove(this,0);};
        }
            function startMove(obj,target){
                clearInterval(obj.timer);    
                obj.timer=setInterval(function(){
                    var speed=(target-obj.offsetLeft)/10;
                    speed=speed>0 ? Math.ceil(speed):Math.floor(speed);    
                    if (obj.offsetLeft==target){
                        clearInterval(obj.timer);}
                    else{
                        obj.style.left=obj.offsetLeft+speed+"px";}
                    },30);
                };
        };
        
</script>

提问者:hou_hou 2015-08-11 16:34

个回答

  • Aurora丶
    2015-10-31 09:53:25

    length那里应该是

    for(var i = 0 ; i < oBox.length ; i ++){}

    其次是下面的offsetLeft 应该改成 offsetWidth

  • calmound
    2015-10-05 16:56:10

     for(var i=0;i<=oBox.length;i++)  这里取不到length,是<length

  • 悟道参禅
    2015-09-09 15:06:27

    for里面判断条件的=去掉试下