首頁 > web前端 > js教程 > 如何用原生JS實作tab選項卡的切換效果(附代碼)

如何用原生JS實作tab選項卡的切換效果(附代碼)

yulia
發布: 2018-10-18 10:15:33
原創
2949 人瀏覽過

說到tab選項卡,大家應該都不陌生吧,那你知道如何用原生JS實作tab選項卡的切換效果嗎?這篇文章就跟大家分享tab選項卡的製作方法以及js實現tab切換效果的程式碼,有一定的參考價值,有興趣的朋友可以參考一下。

用原生JS實作tab選項卡切換效果需要用到很多JavaScript知識,例如:function,document.getElementById(),滑鼠事件等等,如有不清楚的小夥伴可以參考PHP中文網的相關文章,或訪問JavaScript影片教學

實例描述:實現Tab的切換效果,我們很容易想到的是為每一個要控制的標籤添加id,然後用滑鼠事件,使用id獲取每個元素,從而控制每個元素的樣式。

HTML部分:

<div class="tab-head">
      <h2 id="tab1" onmouseover="changeTab1()" class="selected">按钮1</h2>
      <h2 id="tab2" onmouseover="changeTab2()">按钮2</h2>
      <h2 id="tab3" onmouseover="changeTab3()">按钮3</h2>
</div>
<div class="tab-content">
       <div id="c1" class="show">content1</div>
       <div id="c2">content2</div>
       <div id="c3">content3</div>
</div>
登入後複製

CSS部分:

*{padding: 0;margin: 0;}
   h2 {               
                width: 150px;
                height: 30px;
                margin: 0 auto;
                float: left;
                text-align: center;
            }            
            .tab-content div{
             width: 148px;
             height: 150px;
             border: 1px solid black;
             display: none;
             position: relative;
             background: pink;
            }   
            #c1{
             position: absolute;
             top: 30px;
             left: 0;            
            }    
            #c2{
             position: absolute;
             top: 30px;
             left: 150px;
            }   
            #c3{
             position: absolute;
             top: 30px;
             left: 300px;
            }                       
            .selected {
                background-color: cornflowerblue;
            }           
            .tab-content .show{
                display: block;
            }
登入後複製

JavaScript部分:

var tab1 = document.getElementById(&#39;tab1&#39;),
            tab2 = document.getElementById(&#39;tab2&#39;),
            tab3 = document.getElementById(&#39;tab3&#39;),
            c1 = document.getElementById(&#39;c1&#39;),
            c2 = document.getElementById(&#39;c2&#39;),
            c3 = document.getElementById(&#39;c3&#39;);
            function changeTab1() {
                tab1.className = &#39;selected&#39;;
                tab2.className = &#39;&#39;;
                tab3.className = &#39;&#39;;
                c1.className = &#39;show&#39;
                c2.className = &#39;&#39;;
                c3.className = &#39;&#39;;
            }
            function changeTab2() {
                tab1.className = &#39;&#39;;
                tab2.className = &#39;selected&#39;;
                tab3.className = &#39;&#39;;
                c1.className = &#39;&#39;;
                c2.className = &#39;show&#39;;
                c3.className = &#39;&#39;;
            }
            function changeTab3() {
                tab1.className = &#39;&#39;;
                tab2.className = &#39;&#39;;
                tab3.className = &#39;selected&#39;;
                c1.className = &#39;&#39;
                c2.className = &#39;&#39;;
                c3.className = &#39;show&#39;;
            }
登入後複製

效果如圖所示:

如何用原生JS實作tab選項卡的切換效果(附代碼)

#這個方法,有幾個元素就有幾個id,而且每個tab都要寫function,如果要增加tab,還要增加id和function,程式碼冗餘,不容易擴展,所以此方法適合tab不多的情況。

以上跟大家分享如何用原生JS實作tab選項卡的切換效果,步驟很詳細,初學者可以自己動手嘗試,看看能不能實現tab切換的效果,希望這篇文章對你有所幫助!

【相關教學推薦】

1. JavaScript中文參考手冊
2. CSS3影片教學
#3. bootstrap教程

以上是如何用原生JS實作tab選項卡的切換效果(附代碼)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
js
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板