這篇文章主要介紹了Bootstrap中的手風(fēng)琴效果怎么弄,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
成都創(chuàng)新互聯(lián)公司是一家網(wǎng)站設(shè)計(jì)公司,集創(chuàng)意、互聯(lián)網(wǎng)應(yīng)用、軟件技術(shù)為一體的創(chuàng)意網(wǎng)站建設(shè)服務(wù)商,主營(yíng)產(chǎn)品:響應(yīng)式網(wǎng)站建設(shè)、高端網(wǎng)站設(shè)計(jì)、成都營(yíng)銷(xiāo)網(wǎng)站建設(shè)。我們專(zhuān)注企業(yè)品牌在網(wǎng)站中的整體樹(shù)立,網(wǎng)絡(luò)互動(dòng)的體驗(yàn),以及在手機(jī)等移動(dòng)端的優(yōu)質(zhì)呈現(xiàn)。成都做網(wǎng)站、網(wǎng)站建設(shè)、外貿(mào)營(yíng)銷(xiāo)網(wǎng)站建設(shè)、移動(dòng)互聯(lián)產(chǎn)品、網(wǎng)絡(luò)運(yùn)營(yíng)、VI設(shè)計(jì)、云產(chǎn)品.運(yùn)維為核心業(yè)務(wù)。為用戶提供一站式解決方案,我們深知市場(chǎng)的競(jìng)爭(zhēng)激烈,認(rèn)真對(duì)待每位客戶,為客戶提供賞析悅目的作品,網(wǎng)站的價(jià)值服務(wù)。
Bootstrap是目前最受歡迎的前端框架,它是基于 HTML、CSS、JAVASCRIPT 的,它簡(jiǎn)潔靈活,使得 Web 開(kāi)發(fā)更加快捷,它還有一個(gè)響應(yīng)最好的Grid系統(tǒng),并且能夠在手機(jī)端通用,而B(niǎo)ootstrap是使用許多可重用的CSS和JavaScript組件,可以幫助實(shí)現(xiàn)需要的幾乎任何類(lèi)型的網(wǎng)站的功能,此外,所有這些組件都是響應(yīng)式的。
Bootstrap 框架中 Collapse插件(折疊)其實(shí)就是我們常見(jiàn)的手風(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)格。
手風(fēng)琴最關(guān)鍵的部分,就是每個(gè)標(biāo)題對(duì)應(yīng)有一個(gè)內(nèi)容,在Bootstrap框架中將這兩個(gè)部分組合起來(lái)稱(chēng)為一個(gè)panel面板,如下邊效果所示,有三個(gè)panel面板,將這三個(gè)面板組合在一起,就是一個(gè)面板組合 panel-group,也就是手風(fēng)琴的結(jié)構(gòu)
簡(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"> <h5 class="panel-title"><a data-toggle="collapse" data-parent="#accordion" href="#collapseOne">標(biāo)題一</a></h5> </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"> <h5 class="panel-title"><a data-toggle="collapse" data-parent="#accordion" href="#collapseTwo">標(biāo)題二</a></h5> </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"> <h5 class="panel-title"><a data-toggle="collapse" data-parent="#accordion" href="#collapseThree">標(biāo)題三</a></h5> </div> <div id="collapseThree" class="panel-collapse collapse"> <div class="panel-body">標(biāo)題三對(duì)應(yīng)的內(nèi)容</div> </div> </div> </div>
觸發(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"> <h5 class="panel-title">標(biāo)題一</h5> </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"> <h5 class="panel-title"><a href="#panel1">標(biāo)題一</a></h5> </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"> <h5 class="panel-title"><a href="#panel2">標(biāo)題二</a></h5> </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ū)域不可見(jiàn),只需要在 panel-collapse 樣式上添加 collapse;如果想讓內(nèi)容區(qū)域默認(rèn)可見(jiàn),則需要添加樣式collapse和in
<div class="panel panel-accordion panel-default"> <div class="panel-heading"> <h5 class="panel-title"><a href="#panel1">標(biāo)題一</a></h5> </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"> <h5 class="panel-title"><a href="#panel1" data-toggle="collapse" data-target="#panel1">標(biāo)題一</a></h5> </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ū),再打開(kāi)所單擊的區(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"> <h5 class="panel-title"> <a href="#panel1" data-toggle="collapse" data-target="#panel1" data-parent="#myAccordion">標(biāo)題一</a> </h5> </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"> <h5 class="panel-title"><a data-toggle="collapse" data-parent="#accordion" href="#panel1">標(biāo)題一</a></h5> </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"> <h5 class="panel-title"><a data-toggle="collapse" data-parent="#accordion" href="#panel2">標(biāo)題二</a></h5> </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"> <h5 class="panel-title"><a data-toggle="collapse" data-parent="#accordion" href="#panel3">標(biāo)題三</a></h5> </div> <div id="panel3" class="panel-collapse collapse"> <div class="panel-body">折疊區(qū)內(nèi)容三</div> </div> </div> </div>
【關(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"> <h5 class="panel-title"><a data-toggle="collapse" data-parent="#accordion" href="#panel1">標(biāo)題一</a></h5> </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"> <h5 class="panel-title"><a data-toggle="collapse" data-parent="#accordion" href="#panel2">標(biāo)題二</a></h5> </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"> <h5 class="panel-title"><a data-toggle="collapse" data-parent="#accordion" href="#panel3">標(biāo)題三</a></h5> </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>
【事件】
該插件支持4種類(lèi)型的事件訂閱
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"> <h5 class="panel-title"><a data-toggle="collapse" data-parent="#accordion" data-html="標(biāo)題一" href="#panel1">標(biāo)題一</a></h5> </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"> <h5 class="panel-title"><a data-toggle="collapse" data-parent="#accordion" data-html="標(biāo)題二" href="#panel2">標(biāo)題二</a></h5> </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"> <h5 class="panel-title"><a data-toggle="collapse" data-parent="#accordion" data-html="標(biāo)題三" href="#panel3">標(biāo)題三</a></h5> </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ū)已打開(kāi)]'); }).on("hide.bs.collapse",function(e){ var $element = $(e.target).siblings().first().find('a'); $element.html($element.data('html') + '[折疊區(qū)已關(guān)閉]'); }) }); </script>
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“Bootstrap中的手風(fēng)琴效果怎么弄”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!
分享標(biāo)題:Bootstrap中的手風(fēng)琴效果怎么弄
當(dāng)前URL:http://jinyejixie.com/article28/ppehjp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、虛擬主機(jī)、做網(wǎng)站、Google、定制網(wǎng)站、品牌網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)