js寫tab欄切換佈局分佈
阿新 • • 發佈:2021-06-10
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>tab欄切換佈局分佈</title> <style> * { margin: 0; padding: 0; } li { list-style-type: none; } .tab { width: 978px; margin: 100px auto; } .tab_list { height: 39px; border: 1px solid #ccc; background-color: #f1f1f1; } .tab_list li { float: left; height: 39px; line-height: 39px; padding: 0 20px; text-align: center; cursor: pointer; } .tab_list .current { background-color: #c81623; color: #fff; } .item_info { padding: 20px 0 0 20px; } .item { display: none; } </style> </head> <body> <div class="tab"> <div class="tab_list"> <ul> <li class="current">商品介紹</li> <li>規格與包裝</li> <li>售後保障</li> <li>商品評價(50000)</li> <li>手機社群</li> </ul> </div> <div class="tab_con"> <div class="item" style="display: block;"> 商品介紹模組內容 </div> <div class="item" > 規格與包裝模組內容 </div> <div class="item"> 售後保障模組內容 </div> <div class="item"> 商品評價(50000)模組內容 </div> <div class="item"> 手機社群模組內容 </div> </div> </div> <script> //1、上面模組,點選變紅其他不變(排他思想) //註冊元素 var tab_list = document.querySelector('.tab_list'); var lis = tab_list.querySelectorAll('li'); var items = document.querySelectorAll('.item'); //for迴圈繫結點選事件 for(var i=0; i<lis.length ; i++){ //給5個小li設定自定義屬性 index lis[i].setAttribute('index', i); lis[i].onclick = function(){ //1、上面模組選項,點選某一個,當前這個底色會是紅色的,其餘不變(排他思想) 修改類名的方法 //幹掉所有人 其餘的li清除class 這個類 for(var i = 0 ; i<lis.length ; i++){ lis[i].className = ''; } //留下我自己 this.className = 'current'; //2、下面的顯示內容模組 雖上面的出現對應出現 //獲取索引 var index = this.getAttribute('index'); // console.log(index); //幹掉其他人 for(var i = 0 ; i<items.length ; i++){ items[i].style.display = 'none'; } //留下我自己 items[index].style.display = 'block'; } } </script> </body> </html>