js实现tab切换以及自动切换

js实现tab切换以及自动切换_第1张图片



    
    
    
    Document
    


    
  • 275万购昌平邻铁三居
  • 总价20万买一居
  • 200万内购五环三居
  • 北京首现零首付楼盘
  • 新中式的酷色温情
  • 总价20万买一居
  • 200万内购五环三居
  • 北京首现零首付楼盘
  • 通州豪华3居260万
  • 总价20万买一居
  • 200万内购五环三居
  • 北京首现零首付楼盘
  • 经典清新简欧爱家
  • 总价20万买一居
  • 200万内购五环三居
  • 北京首现零首付楼盘
  • 二环稀缺2居250w甩
  • 总价20万买一居
  • 200万内购五环三居
  • 北京首现零首付楼盘

思路:主要是将tab和内容连接起来,要使tab和content对应.

  1. change(index)函数目的是渲染索引为index的tab和content,先用循环将所有的tab样式清除以及让所有的content的display都为none,然后将索引为Index的tab添加上样式以及让索引为index的content的display:block.渲染完成后,再将mark的值设置为index.

function change(index){
   for(var j=0;j

2.mark是用来标记当前高亮的tab和diplay为block的content,目的是当鼠标移入移出后,tab自动切换会按照当前mask的值进行切换,不会导致又从头开始切换.

mark=0;

3.play()函数是为了让tab自动切换无限循环,让mark进行自加运算,当mark的值等于tab的length时,将mark的值设置为0.

function play(){
   mark++;
   if (mark==tabs.length) {
       mark=0;
   }
   change(mark);
 }

4.利用for循环将tabs中的li添加上mouseover事件,tab[i].index=i是为了标记当前tab[i]的索引值,将this.index传入change(index)函数中进行渲染.

 for(var i=0;i

5.当鼠标划入news时,要将定时器清除,当鼠标划出时,要重新开启定时器.

news.addEventListener('mouseover',function(){
            if (timer) {
                clearInterval(timer);
            }
            timer=null;
        },false);
        news.addEventListener('mouseout',function(){
            if (timer) {
                clearInterval(timer);
            }
            timer=setInterval(play,2000);
        },false);

你可能感兴趣的:(javascript,前端,css)