js实现tab栏切换制作

Gretchen ·
更新时间:2024-09-20
· 1431 次阅读

本文实例为大家分享了js实现tab栏切换制作的具体代码,供大家参考,具体内容如下

效果:

思想:

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>



tab js

需要 登录 后方可回复, 如果你还没有账号请 注册新账号