js實(shí)現(xiàn)tab欄切換制作
本文實(shí)例為大家分享了js實(shí)現(xiàn)tab欄切換制作的具體代碼,供大家參考,具體內(nèi)容如下
效果:

思想:
1.點(diǎn)擊每個(gè)tab時(shí)。要先用排他思想,使得所有l(wèi)i不加上背景,再讓點(diǎn)擊的tab加上某個(gè)類。
2.上面的tab與下面顯示內(nèi)容的頁面是一一對應(yīng)的。因此,可以使用自定義屬性,使tab加上一個(gè)index索引,這樣就能知道每次點(diǎn)擊的是哪一個(gè)tab了。
3.最后仍然使用排他思想,當(dāng)點(diǎn)擊tab時(shí),先讓所有的內(nèi)容都不顯示,再讓對應(yīng)的內(nèi)容進(jìn)行顯示。
代碼:
<!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');
? ? ? ? ? ? // 鼠標(biāo)經(jīng)過時(shí),li加入className,同時(shí)讓其他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>以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Canvas實(shí)現(xiàn)二娃翠花回家之路小游戲demo解析
這篇文章主要為大家介紹了Canvas實(shí)現(xiàn)二娃翠花回家之路小游戲demo解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04
js性能優(yōu)化 如何更快速加載你的JavaScript頁面
JavaScript現(xiàn)在極其重要。一些網(wǎng)站使用JavaScript來增添魅力;如今的許多Web應(yīng)用程序依賴它;其中一些甚至是完全用JavaScript編寫而成的。我在本文中將指出一些重要的規(guī)則,介紹如何使用你的JavaScript、使用哪些工具以及你將從中得到什么好處2012-03-03
JS實(shí)現(xiàn)簡單的點(diǎn)贊與踩功能示例
這篇文章主要介紹了JS實(shí)現(xiàn)簡單的點(diǎn)贊與踩功能,涉及javascript針對頁面元素動態(tài)操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-12-12
JavaScript使用小插件實(shí)現(xiàn)倒計(jì)時(shí)的方法講解
今天小編就為大家分享一篇關(guān)于JavaScript使用小插件實(shí)現(xiàn)倒計(jì)時(shí)的方法講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-03-03
js驗(yàn)證框架之RealyEasy驗(yàn)證詳解
這篇文章主要為大家詳細(xì)介紹了js驗(yàn)證框架之RealyEasy驗(yàn)證,記錄了RealyEasy驗(yàn)證的使用步驟,感興趣的小伙伴們可以參考一下2016-06-06
Javascript 生成指定范圍數(shù)值隨機(jī)數(shù)
查手冊后才知道, 介紹的信息少得可憐吶, 沒有介紹生成 m-n 范圍的隨機(jī)數(shù)..., 就只是給你一個(gè) Math.random() 了事.2009-01-01
js簡單實(shí)現(xiàn)刪除記錄時(shí)的提示效果
刪除記錄時(shí)的提示效果,挺人性化的,實(shí)現(xiàn)的方法有很多,在本文為大家介紹下使用js是如何實(shí)現(xiàn)的2013-12-12

