js tab栏切换
阿旋要毕业~ 人气:0效果:
思想:
1.点击每个tab时。要先用排他思想,使得所有li不加上背景,再让点击的tab加上某个类。
2.上面的tab与下面显示内容的页面是一一对应的。因此,可以使用自定义属性,使tab加上一个index索引,这样就能知道每次点击的是哪一个tab了。
3.最后仍然使用排他思想,当点击tab时,先让所有的内容都不显示,再让对应的内容进行显示。
代码:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>tab切换栏的制作</title> <style> *{ padding: 0; margin: 0; } .head{ width: 1000px; height: 30px; background-color: pink; margin: 10px auto; } ul{ width: 100%; height: 100%; } li { display: inline-block; width: 100px; height: 100%; list-style: none; line-height: 30px; text-align: center; cursor: pointer; } .bg { color: white; background-color: red; } .item { display: none; } </style> </head> <body> <div class="head"> <ul> <li>商品详情</li> <li>商品详情</li> <li>商品详情</li> <li>商品详情</li> <li>商品详情5</li> </ul> <div class="detail"> <div class="item">item1</div> <div class="item">item2</div> <div class="item">item3</div> <div class="item">item4</div> <div class="item">item5</div> </div> <script> var lis = document.querySelectorAll('li'); // 鼠标经过时,li加入className,同时让其他li去掉该类。 // 绑定事件 var detail = document.querySelector('.detail'); var items = detail.querySelectorAll('.item'); for(var i=0;i<lis.length;i++){ lis[i].setAttribute('index',i); var index; lis[i].onclick = function(){ for(var j=0;j<lis.length;j++){ lis[j].className=''; items[j].style.display = 'none'; } this.className='bg'; index = this.getAttribute('index'); items[index].style.display='block'; } } </script> </div> </body> </html>
加载全部内容