使用Bootstrap tab頁切換的使用

風靈使發表於2018-08-17

Html程式碼:

<!DOCTYPE html>
<html lang="en">

    <head>
        <base target="_self">
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <meta http-equiv="pragma" content="no-cache">
        <meta http-equiv="cache-control" content="no-cache,must-ridate">
        <meta http-equiv="expires" content="0">
        <title>
            tab頁切換
        </title>
        <link rel="stylesheet" type="text/css" href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css"
        />
        <style type="text/css">
        </style>
    </head>

    <body>
        <p style="display:none;">
            1.參考網站:http://www.runoob.com/bootstrap/bootstrap-tab-plugin.html 2..fade增加淡入淡出效果;新增
            .fade 到每個 .tab-pane 後面; 3.第一個標籤頁必須新增 .in 類,以便淡入顯示初始內容;
        </p>
        <!-- tab標籤 -->
        <ul id="myTab" class="nav nav-tabs">
            <li class="active">
                <a href="#home" data-toggle="tab">
                    Microsoft
                </a>
            </li>
            <li>
                <a href="#ios" data-toggle="tab">
                    NET CORE
                </a>
            </li>
            <li class="dropdown">
                <a href="#" id="myTabDrop1" class="dropdown-toggle" data-toggle="dropdown">
                    C#
                    <b class="caret">
                    </b>
                </a>
                <ul class="dropdown-menu" role="menu" aria-labelledby="myTabDrop1">
                    <li>
                        <a href="#jmeter" tabindex="-1" data-toggle="tab">
                            EF
                        </a>
                    </li>
                    <li>
                        <a href="#ejb" tabindex="-1" data-toggle="tab">
                            Docker
                        </a>
                    </li>
                </ul>
            </li>
        </ul>
        <!-- 每個tab頁對應的內容 -->
        <div id="myTabContent" class="tab-content">
            <div class="tab-pane fade in active" id="home">
                <p>
                    微軟,是一家美國跨國科技公司,也是世界PC(Personal Computer,個人計算機)軟體開發的先導,由比爾·蓋茨與保羅·艾倫創辦於1975年,公司總部設立在華盛頓州的雷德蒙德(Redmond,鄰近西雅圖)。以研發、製造、授權和提供廣泛的電腦軟體服務業務為主。
                </p>
            </div>
            <div class="tab-pane fade" id="ios">
                <p>
                    NET CORE 是一個由微軟公司開發和釋出的跨平臺框架。
                </p>
            </div>
            <div class="tab-pane fade" id="jmeter">
                <p>
                    EF 是一款開源的ORM框架。
                </p>
            </div>
            <div class="tab-pane fade" id="ejb">
                <p>
                    Docker是一個建立高度可擴充套件性和強大的容器架構。
                </p>
            </div>
        </div>
        <script type="text/javascript" src="https://cdn.bootcss.com/jquery/2.2.4/jquery.js">
        </script>
        <script type="text/javascript" src="https://cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.js">
        </script>
        <script type="text/javascript">
        </script>
    </body>

</html>

有幾個知識點:

1)

$('#clglTab a[href="#ysplb"]').on('shown.bs.tab', function(e){
do somehting...
});

關於根據連線的href來取元素的,類似的還有:

$('a[data-toggle="tab"]')

$('#myTab a[href="#profile"]').tab('show')

$('#myTab a:first').tab('show')
$('#myTab a:last').tab('show')

$('#myTab li:eq(2) a').tab('show')

2)兩個事件:

$("xxx").on("shown.bs.tab", function(e){})//是tab頁顯示的時候觸發的事件;

show.bs.tab

該事件在標籤頁顯示時觸發,但是必須在新標籤頁被顯示之前。分別使用event.target 和 event.relatedTarget 來定位到啟用的標籤頁和前一個啟用的標籤頁。

shown.bs.tab

該事件在標籤頁顯示時觸發,但是必須在某個標籤頁已經顯示之後。分別使用event.targetevent.relatedTarget 來定位到啟用的標籤頁和前一個啟用的標籤頁。

如:

$(function(){
      $('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
      // 獲取已啟用的標籤頁的名稱
      var activeTab = $(e.target).text(); 
      // 獲取前一個啟用的標籤頁的名稱
      var previousTab = $(e.relatedTarget).text(); 
      $(".active-tab span").html(activeTab);
      $(".previous-tab span").html(previousTab);
   });
});

3)通過javascript來啟用標籤頁:

$('#myTab a').click(function (e) {
  e.preventDefault()
  $(this).tab('show')
})

結果如圖:

這裡寫圖片描述
這裡寫圖片描述

相關文章