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

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";
    }
}


慕圣1924471
浏览 2179回答 2
2回答

OlderSkee

lbt.onmouseout=function(){    clearInterval(timer)    setInterval(lb,2000)};要用定时器,先清定时器。

stone310

lbt和ol在html里是不是嵌套关系,可以试一下将onmouseover改成onmouseenter;onmouseout改成onmouseleave;因为onmouseover如果存在子元素会多次触发,就相当于多次调用计时器
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript