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

求大神帮忙看一下,为什么鼠标多移动几次有的a标签的宽就无限拉长,可是明明清除了动画啊

window.onload=function(){
    var A=document.getElementsByTagName('a');
    for(var i=0;i<A.length;i++){
        A[i].onmouseover=function(){
            var This=this;
            This.T=setInterval(function(){
                clearInterval(This.T);
                This.style.width=This.offsetWidth+8+'px';
                if(This.offsetWidth>=120){
                    clearInterval(This.T);
                    }
                },30)
            }
        A[i].onmouseout=function(){
            var This=this;
            This.T=setInterval(function(){
                clearInterval(This.T);
                This.style.width=This.offsetWidth-8+'px';
                if(This.offsetWidth<=100){
                    This.style.width='100px';
                    clearInterval(This.T);
                    
                    }
                },30)
            }    
        }
    }
</script>
</head>

<body>
<ul class="big">
    <li><a href="#">首   页</a></li>
    <li><a href="#">新闻快讯</a></li>
    <li><a href="#">产品展示</a></li>
    <li><a href="#">售后服务</a></li>
    <li><a href="#">联系我们</a></li>
</ul>
</body>

正在回答

2 回答

应该在下一个动画开始之前先清除动画,换而言之,应该在setInterval之前调用clearInterval

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

在第五行与第六行之间再加一段定时器清理代码

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

举报

0/150
提交
取消
导航条菜单的制作
  • 参与学习       123899    人
  • 解答问题       813    个

水平、垂直、圆角导航条菜单,让您的技术探索之路更高效

进入课程

求大神帮忙看一下,为什么鼠标多移动几次有的a标签的宽就无限拉长,可是明明清除了动画啊

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