日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

本篇文章給大家詳細(xì)介紹一下Bootstrap中的手風(fēng)琴效果。有一定的參考價(jià)值,有需要的朋友可以參考一下,希望對(duì)大家有所幫助。


詳解Bootstrap中的手風(fēng)琴效果


Bootstrap 框架中 Collapse插件(折疊)其實(shí)就是我們常見的手風(fēng)琴效果。當(dāng)單擊一個(gè)觸發(fā)元素時(shí),在另外一個(gè)可折疊區(qū)域進(jìn)行顯示或隱藏,再次單擊時(shí)可以反轉(zhuǎn)顯示狀態(tài)。

經(jīng)典的場(chǎng)景是多個(gè)折疊區(qū)域的手風(fēng)琴風(fēng)格以及單一title/content的風(fēng)格。

結(jié)構(gòu)

手風(fēng)琴最關(guān)鍵的部分,就是每個(gè)標(biāo)題對(duì)應(yīng)有一個(gè)內(nèi)容,在Bootstrap框架中將這兩個(gè)部分組合起來(lái)稱為一個(gè)panel面板,如下邊效果所示,有三個(gè)panel面板,將這三個(gè)面板組合在一起,就是一個(gè)面板組合 panel-group,也就是手風(fēng)琴的結(jié)構(gòu)


詳解Bootstrap中的手風(fēng)琴效果


簡(jiǎn)單點(diǎn)就是一個(gè)觸發(fā)器和一個(gè)折疊區(qū)

<button type="button" class="btn btn-danger" data-toggle="collapse" data-target="#demo">觸發(fā)器</button>
<div id="demo" class="collapse in">折疊區(qū)</div>
<div class="panel-group" id="accordion">
    <div class="panel panel-default">
        <div class="panel-heading">
            <h4 class="panel-title"><a data-toggle="collapse" data-parent="#accordion" href="#collapseOne">標(biāo)題一</a></h4>
        </div>
        <div id="collapseOne" class="panel-collapse collapse in">
            <div class="panel-body">標(biāo)題一對(duì)應(yīng)的內(nèi)容</div>
        </div>
    </div>
    <div class="panel panel-default">
        <div class="panel-heading">
            <h4 class="panel-title"><a data-toggle="collapse" data-parent="#accordion" href="#collapseTwo">標(biāo)題二</a></h4>
        </div>
        <div id="collapseTwo" class="panel-collapse collapse">
            <div class="panel-body">標(biāo)題二對(duì)應(yīng)的內(nèi)容</div>
        </div>
    </div>
    <div class="panel panel-default">
        <div class="panel-heading">
            <h4 class="panel-title"><a data-toggle="collapse" data-parent="#accordion" href="#collapseThree">標(biāo)題三</a></h4>
        </div>
        <div id="collapseThree" class="panel-collapse collapse">
            <div class="panel-body">標(biāo)題三對(duì)應(yīng)的內(nèi)容</div>
        </div>
    </div>
</div>


詳解Bootstrap中的手風(fēng)琴效果

聲明式觸發(fā)

觸發(fā)手風(fēng)琴可以通過(guò)自定義的 data-toggle 屬性來(lái)觸發(fā)。其中data-toggle值設(shè)置為 collapse,data-target="#折疊區(qū)標(biāo)識(shí)符"。接下來(lái)我們來(lái)看一個(gè)簡(jiǎn)單的示例

第一步:設(shè)計(jì)一個(gè)面板組合,里面有三個(gè)折疊區(qū)

<div class="panel-group" id="myAccordion">
    <div class="panel panel-accordion panel-default"></div>
    <div class="panel panel-accordion panel-default"></div>
    <div class="panel panel-accordion panel-default"></div>
</div>

第二步:給面板添加內(nèi)容,每個(gè)面板包括兩個(gè)部分,第一個(gè)是面板標(biāo)題 panel-heading,并且在這里面添加標(biāo)題 panel-title。第二部分是面板內(nèi)容,也就是折疊區(qū),使用 panel-collapse 樣式

<div class="panel panel-accordion panel-default">
    <div class="panel-heading">
        <h4 class="panel-title">標(biāo)題一</h4>
    </div>
    <div class="panel-collapse">
        <div class="panel-body">折疊區(qū)內(nèi)容...</div>
    </div>
</div>

第三步:為了把標(biāo)題和內(nèi)容區(qū)捆綁在一起,可以通過(guò)錨鏈接的方法,把標(biāo)題區(qū)域和面板區(qū)連在一起

<div class="panel-group" id="myAccordion">
    <div class="panel panel-accordion panel-default">
        <div class="panel-heading">
            <h4 class="panel-title"><a href="#panel1">標(biāo)題一</a></h4>
        </div>
        <div class="panel-collapse" id="panel1">
            <div class="panel-body">折疊區(qū)內(nèi)容...</div>
        </div>
    </div>
    <div class="panel panel-accordion panel-default">
        <div class="panel-heading">
            <h4 class="panel-title"><a href="#panel2">標(biāo)題二</a></h4>
        </div>
        <div class="panel-collapse" id="panel2">
            <div class="panel-body">折疊區(qū)內(nèi)容...</div>
        </div>
    </div>
    ......
</div>

第四步:控制面板內(nèi)容區(qū)是否可視。在Bootstrap框架中,如果想讓內(nèi)容區(qū)域不可見,只需要在 panel-collapse 樣式上添加 collapse;如果想讓內(nèi)容區(qū)域默認(rèn)可見,則需要添加樣式collapse和in

<div class="panel panel-accordion panel-default">
    <div class="panel-heading">
        <h4 class="panel-title"><a href="#panel1">標(biāo)題一</a></h4>
    </div>
    <div class="panel-collapse collapse" id="panel1">
        <div class="panel-body">折疊區(qū)內(nèi)容...</div>
    </div>
</div>

第五步:激活手風(fēng)琴交互行為。要完成交互行為,需要在標(biāo)題鏈接中自定義兩個(gè)屬性,一個(gè)是data-toggle,并且取值為collapse;另一個(gè)是data-target,取值為各個(gè)面板內(nèi)容區(qū)的標(biāo)識(shí)符,比如說(shuō)ID,在這個(gè)例子分別是#panel1、#panel2和#panel3:

[注意]在這個(gè)案例中不加入data-target="#panel1"也可以,因?yàn)榍懊嬉呀?jīng)有了href="#panel1",但如里是button按鈕作為觸發(fā)器就必須使用data-target="#panel1"語(yǔ)句

<div class="panel panel-accordion panel-default">
    <div class="panel-heading">
        <h4 class="panel-title"><a href="#panel1" data-toggle="collapse" data-target="#panel1">標(biāo)題一</a></h4>
    </div>
    <div class="panel-collapse collapse in" id="panel1">
        <div class="panel-body">折疊區(qū)內(nèi)容...</div>
    </div>
</div>

第六步:定義data-parent屬性,實(shí)現(xiàn)點(diǎn)擊一個(gè)其中一個(gè)元素時(shí),關(guān)閉所有的折疊區(qū),再打開所單擊的區(qū)域(如果所單擊區(qū)域是展示的,則會(huì)關(guān)閉)。這個(gè)data-parent取值與手風(fēng)琴面板容器的標(biāo)識(shí)符相匹配,比如這個(gè)例子是指 #myAccordion

<div class="panel-group" id="myAccordion">
    <div class="panel panel-accordion panel-default">
        <div class="panel-heading">
            <h4 class="panel-title">
                <a href="#panel1" data-toggle="collapse" data-target="#panel1" data-parent="#myAccordion">標(biāo)題一</a>
            </h4>
        </div>
…

通過(guò)以上6步,可以總結(jié)出以下要點(diǎn)

使用 panel 的 panel-title 作為觸發(fā)元素,使用panel-body的父元素作為折疊區(qū);

使用一個(gè) panel-group 來(lái)包含多個(gè) panel,從而實(shí)現(xiàn)手風(fēng)琴效果;

每個(gè) panel 里的觸發(fā)元素都要指定data-parent屬性,data-parent 屬性的值對(duì)應(yīng) panel-group樣式元素的ID或者其他樣式標(biāo)識(shí)符;

觸發(fā)元素需要指定 data-toggle,并且值為 collapse;

觸發(fā)元素需要指定 data-target屬性, data-target屬性的值對(duì)應(yīng) panel-body 的父元素的ID或者其他樣式標(biāo)識(shí)符;如果是a元素,可以指定href屬性替代

<div class="panel-group" id="accordion">
    <div class="panel panel-default">
        <div class="panel-heading">
            <h4 class="panel-title"><a data-toggle="collapse" data-parent="#accordion" href="#panel1">標(biāo)題一</a></h4>
        </div>
        <div id="panel1" class="panel-collapse collapse in">
            <div class="panel-body">折疊區(qū)內(nèi)容一</div>
        </div>
    </div>
    <div class="panel panel-default">
        <div class="panel-heading">
            <h4 class="panel-title"><a data-toggle="collapse" data-parent="#accordion" href="#panel2">標(biāo)題二</a></h4>
        </div>
        <div id="panel2" class="panel-collapse collapse">
            <div class="panel-body">折疊區(qū)內(nèi)容二</div>
        </div>
    </div>
    <div class="panel panel-default">
        <div class="panel-heading">
            <h4 class="panel-title"><a data-toggle="collapse" data-parent="#accordion" href="#panel3">標(biāo)題三</a></h4>
        </div>
        <div id="panel3" class="panel-collapse collapse">
            <div class="panel-body">折疊區(qū)內(nèi)容三</div>
        </div>
    </div>
</div>


詳解Bootstrap中的手風(fēng)琴效果


JS觸發(fā)

【關(guān)鍵字】

$(element).collapse('show');//顯示折疊區(qū)域
$(element).collapse('hide');//隱藏折疊區(qū)域
$(element).collapse('toggle');//反轉(zhuǎn)折疊區(qū)域
<button type="button" class="btn btn-default" id="btn1">顯示折疊區(qū)域</button>
<button type="button" class="btn btn-default" id="btn2">隱藏折疊區(qū)域</button>
<button type="button" class="btn btn-default" id="btn3">反轉(zhuǎn)折疊區(qū)域</button>
 
<div class="panel-group" id="accordion">
    <div class="panel panel-default">
        <div class="panel-heading">
            <h4 class="panel-title"><a data-toggle="collapse" data-parent="#accordion" href="#panel1">標(biāo)題一</a></h4>
        </div>
        <div id="panel1" class="panel-collapse collapse in">
            <div class="panel-body">折疊區(qū)內(nèi)容一</div>
        </div>
    </div>
    <div class="panel panel-default">
        <div class="panel-heading">
            <h4 class="panel-title"><a data-toggle="collapse" data-parent="#accordion" href="#panel2">標(biāo)題二</a></h4>
        </div>
        <div id="panel2" class="panel-collapse collapse">
            <div class="panel-body">折疊區(qū)內(nèi)容二</div>
        </div>
    </div>
    <div class="panel panel-default">
        <div class="panel-heading">
            <h4 class="panel-title"><a data-toggle="collapse" data-parent="#accordion" href="#panel3">標(biāo)題三</a></h4>
        </div>
        <div id="panel3" class="panel-collapse collapse">
            <div class="panel-body">折疊區(qū)內(nèi)容三</div>
        </div>
    </div>
</div>
<script>
$(function(){
    $('#btn1').click(function(){
        $('.collapse').collapse('show');
    })
    $('#btn2').click(function(){
        $('.collapse').collapse('hide');
    })
    $('#btn3').click(function(){
        $('.collapse').collapse('toggle');
    })
})
</script>


詳解Bootstrap中的手風(fēng)琴效果


【事件】

該插件支持4種類型的事件訂閱

show.bs.collapse        show方法調(diào)用之后立即觸發(fā)該事件
shown.bs.collapse      此事件在collapse已經(jīng)顯示出來(lái)(并且同時(shí)在 CSS 過(guò)渡效果完成)之后被觸發(fā)
hide.bs.collapse        hide方法調(diào)用之后立即觸發(fā)該事件。
hidden.bs.collapse     此事件在collapse被隱藏(并且同時(shí)在 CSS 過(guò)渡效果完成)之后被觸發(fā)
<div class="panel-group" id="accordion">
    <div class="panel panel-default">
        <div class="panel-heading">
            <h4 class="panel-title"><a data-toggle="collapse" data-parent="#accordion" data-html="標(biāo)題一" href="#panel1">標(biāo)題一</a></h4>
        </div>
        <div id="panel1" class="panel-collapse collapse in">
            <div class="panel-body">折疊區(qū)內(nèi)容一</div>
        </div>
    </div>
    <div class="panel panel-default">
        <div class="panel-heading">
            <h4 class="panel-title"><a data-toggle="collapse" data-parent="#accordion" data-html="標(biāo)題二" href="#panel2">標(biāo)題二</a></h4>
        </div>
        <div id="panel2" class="panel-collapse collapse">
            <div class="panel-body">折疊區(qū)內(nèi)容二</div>
        </div>
    </div>
    <div class="panel panel-default">
        <div class="panel-heading">
            <h4 class="panel-title"><a data-toggle="collapse" data-parent="#accordion" data-html="標(biāo)題三" href="#panel3">標(biāo)題三</a></h4>
        </div>
        <div id="panel3" class="panel-collapse collapse">
            <div class="panel-body">折疊區(qū)內(nèi)容三</div>
        </div>
    </div>
</div>
<script>
$(function(){
    $("#accordion").on("show.bs.collapse",function(e){
        var $element = $(e.target).siblings().first().find('a');
        $element.html($element.data('html') + '[折疊區(qū)已打開]');
    }).on("hide.bs.collapse",function(e){
        var $element = $(e.target).siblings().first().find('a');
        $element.html($element.data('html') + '[折疊區(qū)已關(guān)閉]');
    })
 
});    
</script>


詳解Bootstrap中的手風(fēng)琴效果


分享到:
標(biāo)簽:Bootstrap 手風(fēng)琴效果
用戶無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定