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

有关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>

正在回答

3 回答

length那里应该是

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

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

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

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

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

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

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

举报

0/150
提交
取消
JS动画效果
  • 参与学习       113925    人
  • 解答问题       1443    个

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

进入课程

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

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