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

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

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

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


詳解Bootstrap中的手風琴效果


Bootstrap 框架中 Collapse插件(折疊)其實就是我們常見的手風琴效果。當單擊一個觸發元素時,在另外一個可折疊區域進行顯示或隱藏,再次單擊時可以反轉顯示狀態。

經典的場景是多個折疊區域的手風琴風格以及單一title/content的風格。

結構

手風琴最關鍵的部分,就是每個標題對應有一個內容,在Bootstrap框架中將這兩個部分組合起來稱為一個panel面板,如下邊效果所示,有三個panel面板,將這三個面板組合在一起,就是一個面板組合 panel-group,也就是手風琴的結構


詳解Bootstrap中的手風琴效果


簡單點就是一個觸發器和一個折疊區

<button type="button" class="btn btn-danger" data-toggle="collapse" data-target="#demo">觸發器</button>
<div id="demo" class="collapse in">折疊區</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">標題一</a></h4>
        </div>
        <div id="collapseOne" class="panel-collapse collapse in">
            <div class="panel-body">標題一對應的內容</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">標題二</a></h4>
        </div>
        <div id="collapseTwo" class="panel-collapse collapse">
            <div class="panel-body">標題二對應的內容</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">標題三</a></h4>
        </div>
        <div id="collapseThree" class="panel-collapse collapse">
            <div class="panel-body">標題三對應的內容</div>
        </div>
    </div>
</div>


詳解Bootstrap中的手風琴效果

聲明式觸發

觸發手風琴可以通過自定義的 data-toggle 屬性來觸發。其中data-toggle值設置為 collapse,data-target="#折疊區標識符"。接下來我們來看一個簡單的示例

第一步:設計一個面板組合,里面有三個折疊區

<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>

第二步:給面板添加內容,每個面板包括兩個部分,第一個是面板標題 panel-heading,并且在這里面添加標題 panel-title。第二部分是面板內容,也就是折疊區,使用 panel-collapse 樣式

<div class="panel panel-accordion panel-default">
    <div class="panel-heading">
        <h4 class="panel-title">標題一</h4>
    </div>
    <div class="panel-collapse">
        <div class="panel-body">折疊區內容...</div>
    </div>
</div>

第三步:為了把標題和內容區捆綁在一起,可以通過錨鏈接的方法,把標題區域和面板區連在一起

<div class="panel-group" id="myAccordion">
    <div class="panel panel-accordion panel-default">
        <div class="panel-heading">
            <h4 class="panel-title"><a href="#panel1">標題一</a></h4>
        </div>
        <div class="panel-collapse" id="panel1">
            <div class="panel-body">折疊區內容...</div>
        </div>
    </div>
    <div class="panel panel-accordion panel-default">
        <div class="panel-heading">
            <h4 class="panel-title"><a href="#panel2">標題二</a></h4>
        </div>
        <div class="panel-collapse" id="panel2">
            <div class="panel-body">折疊區內容...</div>
        </div>
    </div>
    ......
</div>

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

<div class="panel panel-accordion panel-default">
    <div class="panel-heading">
        <h4 class="panel-title"><a href="#panel1">標題一</a></h4>
    </div>
    <div class="panel-collapse collapse" id="panel1">
        <div class="panel-body">折疊區內容...</div>
    </div>
</div>

第五步:激活手風琴交互行為。要完成交互行為,需要在標題鏈接中自定義兩個屬性,一個是data-toggle,并且取值為collapse;另一個是data-target,取值為各個面板內容區的標識符,比如說ID,在這個例子分別是#panel1、#panel2和#panel3:

[注意]在這個案例中不加入data-target="#panel1"也可以,因為前面已經有了href="#panel1",但如里是button按鈕作為觸發器就必須使用data-target="#panel1"語句

<div class="panel panel-accordion panel-default">
    <div class="panel-heading">
        <h4 class="panel-title"><a href="#panel1" data-toggle="collapse" data-target="#panel1">標題一</a></h4>
    </div>
    <div class="panel-collapse collapse in" id="panel1">
        <div class="panel-body">折疊區內容...</div>
    </div>
</div>

第六步:定義data-parent屬性,實現點擊一個其中一個元素時,關閉所有的折疊區,再打開所單擊的區域(如果所單擊區域是展示的,則會關閉)。這個data-parent取值與手風琴面板容器的標識符相匹配,比如這個例子是指 #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">標題一</a>
            </h4>
        </div>
…

通過以上6步,可以總結出以下要點

使用 panel 的 panel-title 作為觸發元素,使用panel-body的父元素作為折疊區;

使用一個 panel-group 來包含多個 panel,從而實現手風琴效果;

每個 panel 里的觸發元素都要指定data-parent屬性,data-parent 屬性的值對應 panel-group樣式元素的ID或者其他樣式標識符;

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

觸發元素需要指定 data-target屬性, data-target屬性的值對應 panel-body 的父元素的ID或者其他樣式標識符;如果是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">標題一</a></h4>
        </div>
        <div id="panel1" class="panel-collapse collapse in">
            <div class="panel-body">折疊區內容一</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">標題二</a></h4>
        </div>
        <div id="panel2" class="panel-collapse collapse">
            <div class="panel-body">折疊區內容二</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">標題三</a></h4>
        </div>
        <div id="panel3" class="panel-collapse collapse">
            <div class="panel-body">折疊區內容三</div>
        </div>
    </div>
</div>


詳解Bootstrap中的手風琴效果


JS觸發

【關鍵字】

$(element).collapse('show');//顯示折疊區域
$(element).collapse('hide');//隱藏折疊區域
$(element).collapse('toggle');//反轉折疊區域
<button type="button" class="btn btn-default" id="btn1">顯示折疊區域</button>
<button type="button" class="btn btn-default" id="btn2">隱藏折疊區域</button>
<button type="button" class="btn btn-default" id="btn3">反轉折疊區域</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">標題一</a></h4>
        </div>
        <div id="panel1" class="panel-collapse collapse in">
            <div class="panel-body">折疊區內容一</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">標題二</a></h4>
        </div>
        <div id="panel2" class="panel-collapse collapse">
            <div class="panel-body">折疊區內容二</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">標題三</a></h4>
        </div>
        <div id="panel3" class="panel-collapse collapse">
            <div class="panel-body">折疊區內容三</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中的手風琴效果


【事件】

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

show.bs.collapse        show方法調用之后立即觸發該事件
shown.bs.collapse      此事件在collapse已經顯示出來(并且同時在 CSS 過渡效果完成)之后被觸發
hide.bs.collapse        hide方法調用之后立即觸發該事件。
hidden.bs.collapse     此事件在collapse被隱藏(并且同時在 CSS 過渡效果完成)之后被觸發
<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="標題一" href="#panel1">標題一</a></h4>
        </div>
        <div id="panel1" class="panel-collapse collapse in">
            <div class="panel-body">折疊區內容一</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="標題二" href="#panel2">標題二</a></h4>
        </div>
        <div id="panel2" class="panel-collapse collapse">
            <div class="panel-body">折疊區內容二</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="標題三" href="#panel3">標題三</a></h4>
        </div>
        <div id="panel3" class="panel-collapse collapse">
            <div class="panel-body">折疊區內容三</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') + '[折疊區已打開]');
    }).on("hide.bs.collapse",function(e){
        var $element = $(e.target).siblings().first().find('a');
        $element.html($element.data('html') + '[折疊區已關閉]');
    })
 
});    
</script>


詳解Bootstrap中的手風琴效果


分享到:
標簽:Bootstrap 手風琴效果
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定