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

这个轮播图,有问题,鼠标在切换对应图片后,图片会自动切换的速度会变的很快,如何解决

这个轮播图,有问题,鼠标在切换对应图片后,图片会自动切换的速度会变的很快,如何解决

慕圣1924471 2016-09-16 15:46:23
var lbt=document.getElementById("lbt-div"); var ul=document.getElementById("lbt-img"); var img=ul.getElementsByTagName("li"); var ol=document.getElementById("lbt-ol").getElementsByTagName("li"); var index=0; var timer=null; timer=setInterval(lb,2000); function lb(){     index++;     if(index>=ol.length){         index=0;     }     for(k=0;k<img.length;k++){         img[k].style.display="none";         ol[k].className=""     }     img[index].style.display="block";     ol[index].className="ol"; } lbt.onmouseover=function(){     clearInterval(timer) }; lbt.onmouseout=function(){     setInterval(lb,2000) }; for(var i=0;i<img.length;i++){     ol[i].id=i;     ol[i].onmouseover=function(){         for(var j=0;j<img.length;j++){             img[j].style.display="none";             ol[j].className="";         }         img[this.id].style.display="block";         ol[this.id].className="ol";     } }
查看完整描述

2 回答

?
OlderSkee

TA贡献123条经验 获得超103个赞

lbt.onmouseout=function(){

    clearInterval(timer)

    setInterval(lb,2000)

};

要用定时器,先清定时器。


查看完整回答
1 反对 回复 2016-09-16
?
stone310

TA贡献361条经验 获得超191个赞

lbt和ol在html里是不是嵌套关系,可以试一下将onmouseover改成onmouseenter;onmouseout改成onmouseleave;

因为onmouseover如果存在子元素会多次触发,就相当于多次调用计时器

查看完整回答
反对 回复 2016-09-17
  • 2 回答
  • 0 关注
  • 2156 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信