大家帮忙看下哪里有问题?

来源:3-2 加入手动切换功能及代码优化

梧桐笑

2017-09-08 15:44

window.onload=function(){

var div1=document.getElementById("div1");

var ul=div1.getElementsByTagName("ul")[0];

var lis=ul.getElementsByTagName("li");

var divs=div1.getElementsByTagName("div");

var index1=0;

var timer=null;


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

lis[i].onmouseover=function(){

clearInterval(timer);       //鼠标划过时清除定时器

lis[i].index=i;

for(var j=0;j<lis.length;j++){      //初始化所有的li和div标签

divs[j].className="hide";

lis[j].className="";

}

divs[this.index].className="";

this.className="li1";

}

lis[i].ommouseout=function(){

timer=setInterval(autoplay,1000);

}

}

// if(timer){

//     clearInterval(timer);

//     timer=null;

//   }

timer=setInterval(autoplay,1000);

function autoplay(){

index1++;

if(index1>=lis.length)

index1=0;

for(var j=0;j<lis.length;j++){

divs[j].className="hide";

lis[j].className="";

}

divs[index1].className="";

lis[index1].className="li1";

}

}


写回答 关注

1回答

  • tpxiang
    2017-10-11 17:25:08

    for(var j=0;j<lis.length;j++){      //初始化所有的li和div标签

    divs[j].className="hide";

    lis[j].className="";

    }

    divs[this.index].className="";

    this.className="li1";

    }

    你做的是tab选项卡,这儿就有问题了,for循环里面应该是你想要清除的东西,下面是要显示的东西,而你写的divs[this.index].className="";是让所有的内容的class都为空,相当于没有class,自然就显示不出来内容了

Tab选项卡切换效果

本课程详细介绍网页页面中最流行常用的tab切换效果

65469 学习 · 533 问题

查看课程

相似问题