jquery插件制作 手風琴Panel效果實現(xiàn)
更新時間:2012年08月17日 15:40:58 作者:
我們今天要做的是手風琴panel,jquery.ui里面有個叫做accordtion的插件,我們要實現(xiàn)的效果和他一樣
首先我們還是創(chuàng)建一個html文件,里面包含如下的html結構。
<div id="pane-container">
<div class="pane">
<h1>first pane</h1>
<p>this script should allow only one pane to be visible at a time.</p>
</div>
<div class="pane">
<h1>second pane</h1>
<p>this script should allow only one pane to be visible at a time.</p>
</div>
<div class="pane">
<h1>third pane</h1>
<p>this script should allow only one pane to be visible at a time.</p>
</div>
</div>
然后為頁面定義如下css:
<style type="text/css">
#pane-container
{
margin: 0;
padding: 0;
width: 200px;
}
.pane h1
{
padding: 5px;
cursor: pointer;
position: relative;
background-color: #4c4c4c;
color: #fff;
font-weight: normal;
font-size: 20px;
margin: 0px;
}
.pane p
{
padding: 10px;
margin: 0;
background-color: #e4e4e4;
}
</style>
下面我們來介紹jquery.accordtion.js插件的實現(xiàn)。首先我們需要考慮的是如何隱藏pane里面的內容部分,也就是p標簽。h1作為標題是不需要隱藏的。
(function ($) {
$.fn.accordtion = function () {
return this.each(function () {
$(this).find('p').hide();
});
}
})(jQuery);
頁面調用的代碼:
$(document).ready(function () {
$('#pane-container').accordtion();
});
插件代碼很簡單,就是找到class為pane的div下面的p,對其隱藏。接下來我們要實現(xiàn)的是,當用戶點到h1的時候,對應的p標簽的內容顯示出來,同時其他h1對應的p標簽的內容隱藏。代碼如下:
//對h1標簽設置click事件
self.delegate('h1', 'click', function () {
//為對應的p標簽設置slideToggle效果
$(this).next('p').slideToggle(600)
//獲取其他pane對象,找到他們下面的p標簽,收起
.parent().siblings().children('p').slideUp(600);
});
現(xiàn)在我們的插件已經很有型了,最后要做的就是添加用戶自定義屬性options,這次我們只添加一個‘默認顯示第幾個pane'的屬性。
//設置第幾個元素顯示
self.children(':eq(' + options.visibleByDefault + ')')//找到和options.visibleByDefault一致的pane對象
.children('p')
.show();
完整的代碼大家還是下demo自己看吧。jQuery.plugin.accordtion
謝謝大家的支持,希望本篇文章對你有幫助。如果對代碼哪里有不清楚的地方,可以聯(lián)系我。
復制代碼 代碼如下:
<div id="pane-container">
<div class="pane">
<h1>first pane</h1>
<p>this script should allow only one pane to be visible at a time.</p>
</div>
<div class="pane">
<h1>second pane</h1>
<p>this script should allow only one pane to be visible at a time.</p>
</div>
<div class="pane">
<h1>third pane</h1>
<p>this script should allow only one pane to be visible at a time.</p>
</div>
</div>
然后為頁面定義如下css:
復制代碼 代碼如下:
<style type="text/css">
#pane-container
{
margin: 0;
padding: 0;
width: 200px;
}
.pane h1
{
padding: 5px;
cursor: pointer;
position: relative;
background-color: #4c4c4c;
color: #fff;
font-weight: normal;
font-size: 20px;
margin: 0px;
}
.pane p
{
padding: 10px;
margin: 0;
background-color: #e4e4e4;
}
</style>
下面我們來介紹jquery.accordtion.js插件的實現(xiàn)。首先我們需要考慮的是如何隱藏pane里面的內容部分,也就是p標簽。h1作為標題是不需要隱藏的。
復制代碼 代碼如下:
(function ($) {
$.fn.accordtion = function () {
return this.each(function () {
$(this).find('p').hide();
});
}
})(jQuery);
頁面調用的代碼:
復制代碼 代碼如下:
$(document).ready(function () {
$('#pane-container').accordtion();
});
插件代碼很簡單,就是找到class為pane的div下面的p,對其隱藏。接下來我們要實現(xiàn)的是,當用戶點到h1的時候,對應的p標簽的內容顯示出來,同時其他h1對應的p標簽的內容隱藏。代碼如下:
復制代碼 代碼如下:
//對h1標簽設置click事件
self.delegate('h1', 'click', function () {
//為對應的p標簽設置slideToggle效果
$(this).next('p').slideToggle(600)
//獲取其他pane對象,找到他們下面的p標簽,收起
.parent().siblings().children('p').slideUp(600);
});
現(xiàn)在我們的插件已經很有型了,最后要做的就是添加用戶自定義屬性options,這次我們只添加一個‘默認顯示第幾個pane'的屬性。
復制代碼 代碼如下:
//設置第幾個元素顯示
self.children(':eq(' + options.visibleByDefault + ')')//找到和options.visibleByDefault一致的pane對象
.children('p')
.show();
完整的代碼大家還是下demo自己看吧。jQuery.plugin.accordtion
謝謝大家的支持,希望本篇文章對你有幫助。如果對代碼哪里有不清楚的地方,可以聯(lián)系我。
相關文章
jQuery ui實現(xiàn)動感的圓角漸變網站導航菜單效果代碼
這篇文章主要介紹了jQuery ui實現(xiàn)動感的圓角漸變網站導航菜單效果代碼,涉及jquery插件構造圓角圖形及頁面過度效果的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-08-08jQuery實現(xiàn)簡單復制json對象和json對象集合操作示例
這篇文章主要介紹了jQuery實現(xiàn)簡單復制json對象和json對象集合操作,結合實例形式分析了jQuery使用extend方法操作json對象與json對象集合復制相關技巧,需要的朋友可以參考下2018-07-07Jquery Ajax學習實例6 向WebService發(fā)出請求,返回DataSet(XML) 異步調用
Jquery Ajax學習實例6 向WebService發(fā)出請求,返回DataSet(XML) 異步調用實現(xiàn)代碼,需要的朋友可以參考下。2010-03-03jquery控制頁面的展開和隱藏實現(xiàn)方法(推薦)
下面小編就為大家?guī)硪黄猨query控制頁面的展開和隱藏實現(xiàn)方法(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-10-10jquery檢測input checked 控件是否被選中的方法
這篇文章主要介紹了jquery檢測input checked 控件是否被選中的方法,需要的朋友可以參考下2014-03-03