js實現tab選項卡切換


 初始狀態,只展示tab1的內容

  

 點擊tab2,只展示tab2的內容

  

 

 

 通過原生js實現tab切換,首先講解一下實現的原理。

    1.點擊按鈕首先給這個被點擊的按鈕添加一個active類,給點擊的改變背景色

    2.點擊按鈕其實就是把相應的div給顯示出來。

    需要注意的是,點擊按鈕,給按鈕添加了一個類和把對應的div給顯示,需要把上一個點擊的按鈕顏色還原和上一個按鈕對應的div給隱藏,我是通過點擊前,把所有按鈕和div給恢復初始狀 態,代碼如下

  

 1 <html>
 2 
 3 <head>
 4 <title></title>
 5 </head>
 6     <style>
 7         div{
 8             display:none;
 9         }
10         .active{
11             background:yellow;
12         }
13     </style>
14     <script>
15         window.onload=function(){
16             var aInput=document.getElementsByTagName('input');//獲取到所有的input按鈕,aInput是一個數組
17             var aDiv=document.getElementsByTagName('div'); //獲取到所有的div,aDiv是一個數組
18             for(var i=0;i<aInput.length;i++){               //按鈕數組
19                 aInput[i].index=i;                          //i是按鈕數組的下標,把i賦值給index,這樣通過index就知道點擊的是哪個按鈕
20                 aInput[i].onclick=function(){
21                     for(var j=0;j<aInput.length;j++){      //通過點擊按鈕的時候再次循環按鈕,是為了清空active類
22                         aInput[j].className=''             //清空active類
23                     
24                     }
25                     for(var i=0;i<aDiv.length;i++){        //把所有的divde的display重新設置為none,就是不顯示
26                         aDiv[i].style.display='none'
27                     }
28                     aInput[this.index].className='active'  //點擊哪個按鈕就哪個按鈕加active類
29                     aDiv[this.index].style.display='block' //點擊哪個按鈕就把第幾個div給顯示出來
30                 }
31             }
32         }
33     </script>
34 <body>
35     <input type="button" id="div1" value="tab1" index="0" />
36     <input type="button" value="tab2" index="1"/>
37     <input type="button" value="tab3" index="2"/>
38     <input type="button" value="tab4" index="3"/>
39     
40     <div style="display:block">顯示tab1</div>
41     <div>顯示tab2</div>
42     <div>顯示tab3</div>
43     <div>顯示tab4</div>
44     
45 </body>
46 
47 </html>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM