1. 程式人生 > >jquery編寫選項卡Tab頁跳轉功能

jquery編寫選項卡Tab頁跳轉功能

       前面寫過用JavaScript原生程式碼寫選項卡tab頁的跳轉的方法,在後來的學習工作過程中,發現並不是很實用,這裡分享一個jquery的寫法,比較簡單,也比較容易修改套用,適合初學者學習和使用。

1、首先是選單tab標籤

        使用ul-li列出選單tab,並設定ul的class為st-menu-tab

<ul class="st-menu-tab">
    <li class="on">目錄</li>
    <li>筆記</li>
    <li>答疑</li>
    <li>評論</li>
</ul>
2、然後是內容頁

        由於內容頁內容比較自由,可以裝下很多東西,所以應該考慮用div來承載,並設定大的div容器的class為st-menu-info

<div class="st-menu-info">
    <div class="on">
        <ul>
            <li class="sec-title">
                <span>第1章 簡介</span>
            </li>
        </ul>
        <ul>
            <li class="sec-title">
                <span>第2章 企業核心競爭力詳解</span>
            </li>
        </ul>
        <ul>
            <li class="sec-title">
                <span>第3章 員工管理</span>
            </li>
        </ul>
    </div>
    <div class="hide"><h2>筆記</h2></div>
    <div class="hide"><h2>答疑</h2></div>
    <div class="hide"><h2>評論</h2></div>
</div>
3、選單和內容都有之後,就應該先把頁面美化一下了

         設計頁面的css程式碼,程式碼如下:

<style type="text/css">
        * {
            margin: 0;
            padding: 0;
        }
        .st-menu-tab {
            display: block;
            height:30px;
            width: 350px;
            color: #fd9c15;
        }
        .st-menu-tab li {
            cursor:pointer;
            float:left;
            list-style:none;
            height:28px;
            line-height:28px;
            background-color: #A7FADE;
            border:1px solid #fd9c15;
            margin:0 3px;
            border-bottom:none;
            display:inline-block;
            width:60px;
            text-align: center;
        }
        .st-menu-tab li.on {
            border:2px solid #fd9c15;
            border-bottom: 2px solid #7FFFD4;
            font-size: 20px
        }
        .st-menu-info {
            height:200px;
            width: 350px;
            line-height: 25px;
            border:2px solid #fd9c15;
            border-top:none padding:5px;
            background-color: #7FFFD4;
        }
        .hide {display: none;}
    </style>
4、頁面設計好之後,就到了主要的壓軸戲了

        這是使用jquery寫的,那麼就要先引用jquery,然後是跳轉程式碼

<script type="text/javascript" src="script/jquery-3.1.1.js"></script>
<!--tab頁跳轉-->
<script type="text/javascript">
    $(document).ready(function (){
        var stMenuTab = $(".st-menu-tab li"),
                stMenuInfo= $(".st-menu-info div");
        stMenuTab.click(function() {
            var i = $(this).index();
            $(this).addClass('on').siblings().removeClass('on');
            stMenuInfo.eq(i).show().siblings().hide();
        });
    });
</script>
5、預覽效果如下:


6、完整程式碼如下:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style type="text/css">
        * {
            margin: 0;
            padding: 0;
        }
        .st-menu-tab {
            display: block;
            height:30px;
            width: 350px;
            color: #fd9c15;
            margin-left: 50px;
            margin-top: 50px;
        }
        .st-menu-tab li {
            cursor:pointer;
            float:left;
            list-style:none;
            height:28px;
            line-height:28px;
            background-color: #A7FADE;
            border:1px solid #fd9c15;
            margin:0 3px;
            border-bottom:none;
            display:inline-block;
            width:60px;
            text-align: center;
        }
        .st-menu-tab li.on {
            border:2px solid #fd9c15;
            border-bottom: 2px solid #7FFFD4;
            font-size: 20px
        }
        .st-menu-info {
            margin-left: 50px;
            height:200px;
            width: 350px;
            line-height: 25px;
            border:2px solid #fd9c15;
            border-top:none padding:5px;
            background-color: #7FFFD4;
        }
        .hide {display: none;}
        .sec-title {
            list-style:none;
        }
    </style>
</head>
<body>

<ul class="st-menu-tab">
    <li class="on">目錄</li>
    <li>筆記</li>
    <li>答疑</li>
    <li>評論</li>
</ul>
<div class="st-menu-info">
    <div class="on">
        <ul>
            <li class="sec-title">
                <span>第1章 簡介</span>
            </li>
        </ul>
        <ul>
            <li class="sec-title">
                <span>第2章 企業核心競爭力詳解</span>
            </li>
        </ul>
        <ul>
            <li class="sec-title">
                <span>第3章 員工管理</span>
            </li>
        </ul>
    </div>
    <div class="hide"><h2>筆記</h2></div>
    <div class="hide"><h2>答疑</h2></div>
    <div class="hide"><h2>評論</h2></div>
</div>


<script type="text/javascript" src="script/jquery-3.1.1.js"></script>
<!--tab頁跳轉-->
<script type="text/javascript">
    $(document).ready(function (){
        var stMenuTab = $(".st-menu-tab li"),
                stMenuInfo= $(".st-menu-info div");
        stMenuTab.click(function() {
            var i = $(this).index();
            $(this).addClass('on').siblings().removeClass('on');
            stMenuInfo.eq(i).show().siblings().hide();
        });
    });
</script>
</body>
</html>