亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

jQuery之選項卡的簡單實現

2019-11-20 21:02:00
字體:
來源:轉載
供稿:網友

jQuery實現選項卡功能。首先將界面搭建好。

有導航頭tab_menu,還有內容tab_box。

要實現的效果就是,點擊后,將相應的內容顯示出來,其他內容隱藏掉。

同時為了展現選中狀態,為選中的項添加背景,以示區別。

這一次,我自己寫了代碼,先看html部分:

復制代碼 代碼如下:

<div class="tab">
    <div class="tab_menu">
        <ul>
            <li class="selected">時事</li>
            <li>體育</li>
            <li>娛樂</li>
        </ul>
    </div>
    <div class="tab_box">
         <div>時事</div>
         <div class="hide">體育</div>
         <div class="hide">娛樂</div>
    </div>
</div>

html中,需要一個大的div,里面有兩個子div,一個作為導航頭tab_menu,一個作為內容體tab_box。css代碼負責布局html內容。

css部分:

復制代碼 代碼如下:

*{
margin:0;
padding:0;
}
.tab{
    width:240px;
    margin:50px;
    /*border:1px solid;*/
}
.tab_menu{
    clear:both;
}
.tab_menu li{
    float:left;  //將導航頭左飄
    text-align:center;  //將文字居中
    list-style:none;  //去除標記符號
    background:#F1F1F1; //設置默認背景色
    border:1px solid #898989; //設置邊框色
    margin-right:4px; //每個li之間的距離為4px
    cursor:pointer;  //鼠標浮上之后,會有小手的標示出現
    padding:1px 6px; //控制li的內部距離
    border-bottom:none;

}
.tab_menu li.hover{
    background:#DFDFDF;
}
.tab_menu li.selected{//為選中的選項加背景與顏色
    color:#FFF;
    background:#6D84B4;
}
.tab_box{
    clear:both; //清楚float效果的影響
    height:100px; //設置高度為100px
    border:1px solid #898989; //設置內容體的邊框樣式
}
.hide{//隱藏需要隱藏的內容div
    display:none;
}

待布局完成之后,進行jQuery的動作:
復制代碼 代碼如下:

<script type='text/javascript'>
$(function(){
    //1.點擊時改變css屬性,移除之前的selected選項,添加新的selected選項
    //2.隱藏之前的div層,顯示對應得div層
    //為導航中的li注冊點擊事件
    var $div_li = $(".tab_menu ul li");
    $div_li.click(function(){
        $(this).addClass('selected').siblings().removeClass('selected');
        //var index = $div_li.index(this);
        //$("div.tab_box > div").eq(index).show().siblings().hide();
        var text = $(this).text();
        if(text=='時事')
        {
            $('.tab_box div:contains("時事")').removeClass('hide').siblings().addClass('hide');
        }
        if(text=='體育')
        {
            $('.tab_box div:contains("體育")').removeClass('hide').siblings().addClass('hide');
        }
        if(text=='娛樂')
        {
            $('.tab_box div:contains("娛樂")').removeClass('hide').siblings().addClass('hide');
        }
    }).hover(function(){
            $(this).addClass("hover");
        },function(){
            $(this).removeClass("hover");
        });
});
</script>

這是我寫的jQuery代碼,我的思路是,點擊選項卡時,添加selected樣式,同時移除兄弟選項卡的selected樣式。

再一個,如何才能觸發相應的tab_box中的內容的隱藏與顯示呢?

我發現了他們有相對應的內容,就是選項頭為“實事”的對應的選項體也為“實事”,選項頭為“體育”的對應的選項提也為“體育”等。

我就想,先獲取選項頭的內容,做出判斷,當它為不同的值時,就觸發不同的效果。

效果是實現了,可是漏洞很明顯,因為并不是所有的選項卡都是標題與內容體相對應。

再看看下面的代碼:

復制代碼 代碼如下:

<script type="text/javascript" >
//<![CDATA[
    $(function(){
        var $div_li =$("div.tab_menu ul li");
        $div_li.click(function(){
            $(this).addClass("selected")            //當前<li>元素高亮
                   .siblings().removeClass("selected");  //去掉其它同輩<li>元素的高亮
            var index =  $div_li.index(this);  // 獲取當前點擊的<li>元素 在 全部li元素中的索引。
            $("div.tab_box > div")       //選取子節點。不選取子節點的話,會引起錯誤。如果里面還有div
                    .eq(index).show()   //顯示 <li>元素對應的<div>元素
                    .siblings().hide(); //隱藏其它幾個同輩的<div>元素
        })
    })
//]]>
</script>

這里的處理就特別的巧妙,它通過獲取li的索引,對選項體進行處理。它巧妙的利用了一個隱藏的對應關系,就是索引值。

這樣即便選項頭與選項體內容不對應,一樣可以實現聯動效果。

通過這次練習,我覺得,自己先動腦子想一想還是很好的。可以發現思路的差異,才能夠發現不足,知道差距。有時候甚至你的思路會更好呢!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品夜色7777狼人| 国产91在线播放九色快色| 国产欧美精品va在线观看| 国产香蕉精品视频一区二区三区| 91av视频在线观看| 69国产精品成人在线播放| 日韩成人在线视频观看| 亚洲欧美日韩综合| 久久亚洲精品国产亚洲老地址| 国产精品免费福利| 欧美日韩国产va另类| 久久国产精品首页| 欧美一区二区三区图| 日韩**中文字幕毛片| 国产一区欧美二区三区| 日韩在线高清视频| 美乳少妇欧美精品| 51久久精品夜色国产麻豆| 国产在线观看91精品一区| 亚洲性69xxxbbb| 亚洲午夜av电影| 久久久成人av| 国产91成人在在线播放| 日韩亚洲第一页| 成人女保姆的销魂服务| 欧美国产欧美亚洲国产日韩mv天天看完整| 国产成人极品视频| 国产精品成人一区二区三区吃奶| 久久精品国产96久久久香蕉| 亚洲精品色婷婷福利天堂| 亚洲а∨天堂久久精品9966| 欧美日韩一区二区免费视频| 亚洲人成人99网站| 亚洲精选一区二区| 亚洲国产又黄又爽女人高潮的| 亚洲精品自产拍| 久久久久久一区二区三区| 亚洲综合日韩在线| 91香蕉电影院| 成人免费高清完整版在线观看| 国产精品日韩精品| 97视频免费在线看| 久久香蕉国产线看观看网| 久久中文久久字幕| 精品亚洲国产成av人片传媒| 久久综合久久88| 国产成人激情视频| 亚洲3p在线观看| 5252色成人免费视频| 亚洲国产欧美日韩精品| 亚洲毛茸茸少妇高潮呻吟| 亚洲国产日韩欧美综合久久| 国产精品久久综合av爱欲tv| 在线性视频日韩欧美| 91精品国产高清自在线| 日韩小视频在线| 精品一区二区电影| 精品久久久久久久久久久| 日韩视频免费中文字幕| 欧美成人免费大片| 午夜精品一区二区三区在线| 欧美精品18videos性欧美| 91精品国产综合久久久久久久久| 欧美怡春院一区二区三区| 亚洲男人天堂网| 2018日韩中文字幕| 亚洲成色www8888| 91精品国产99久久久久久| 久久久久久免费精品| 日韩中文理论片| 欧美日在线观看| 国语自产精品视频在线看一大j8| 91精品国产精品| 国产精品精品久久久| 日韩一区二区在线视频| 色综合亚洲精品激情狠狠| 久久这里只有精品99| 欧美人成在线视频| 亚洲午夜小视频| 久久成人人人人精品欧| 亚洲va欧美va国产综合久久| 中文字幕精品久久| 国产精品美女视频网站| 日韩精品极品毛片系列视频| 中文字幕欧美专区| 欧美夜福利tv在线| 日韩一区av在线| 亚洲国产成人精品久久| 日韩精品在线免费| 亚洲精品国偷自产在线99热| 在线看日韩av| 亚洲欧洲在线视频| 日韩高清免费在线| 国产精品久久久久久久av大片| 国产日韩欧美综合| 伊人久久大香线蕉av一区二区| 久久久久久久久电影| 欧美激情按摩在线| 日韩电影中文字幕在线| 国产综合久久久久| 欧美黄色成人网| 日韩欧美成人区| 欧美极品美女电影一区| 久久在线免费视频| 国产精品自产拍在线观| 国产精品久久久久久婷婷天堂| 亚洲精品视频免费在线观看| 51精品国产黑色丝袜高跟鞋| 欧美精品做受xxx性少妇| 国产精品影片在线观看| 欧美成人午夜激情视频| 自拍偷拍亚洲一区| 亚洲国产又黄又爽女人高潮的| 992tv在线成人免费观看| 久久久久久亚洲精品中文字幕| 亚洲人成毛片在线播放| 日韩美女免费视频| 色综合91久久精品中文字幕| 久久久999成人| 色樱桃影院亚洲精品影院| 日韩一区av在线| 91av在线影院| 国产精品精品久久久| 奇米4444一区二区三区| 色先锋资源久久综合5566| 日韩经典中文字幕在线观看| 亚洲精品自拍第一页| 91精品国产91久久久久福利| 亚洲深夜福利视频| 成人精品久久一区二区三区| 91大神在线播放精品| 国产精品欧美久久久| 4k岛国日韩精品**专区| 亚洲xxxx18| 91亚洲精品久久久久久久久久久久| 91精品国产色综合久久不卡98| 久久免费精品日本久久中文字幕| 亚洲国产婷婷香蕉久久久久久| 久久久国产精品x99av| 亚洲片在线资源| 91中文在线视频| 美女黄色丝袜一区| 日韩电影大全免费观看2023年上| 亚洲最新av网址| 欧美国产亚洲视频| 亚洲国产欧美自拍| 国产欧美婷婷中文| 国产婷婷色综合av蜜臀av| 深夜成人在线观看| 亚洲第一区在线| 欧美在线视频一二三| 国产91精品久久久久久| 青青草原成人在线视频| 欧美激情一级欧美精品| 亚洲国产私拍精品国模在线观看| 中文.日本.精品| 亚洲成色777777在线观看影院| 成人女保姆的销魂服务| 欧美丰满老妇厨房牲生活| 一区二区欧美久久| 亚洲国产91精品在线观看| 久久精品人人做人人爽| 日韩电影大片中文字幕| 国产精品老女人视频|