jquery tab插件制作實(shí)現(xiàn)代碼
更新時(shí)間:2010年06月22日 23:07:48 作者:
jquery插件豐富,很多都是很好用的,最近學(xué)習(xí)了一下如何制作jquery插件,發(fā)現(xiàn)jquery插件制作其實(shí)很簡(jiǎn)單,這里介紹一下。
jquery插件的基本格式:
(function($){
$.fn.tab = function(options){//$.fn后面的tab是這個(gè)插件的函數(shù)名稱。可以更具自己喜好進(jìn)行修改
var defaults = {
//相關(guān)屬性設(shè)置
}
var options = $.extend(defaults, options);
this.each(function(){
//實(shí)現(xiàn)的功能設(shè)置 });
};
})(jQuery);
我這里是做一個(gè)tab的插件,我來(lái)完善以上代碼
(function($){
$.fn.tab = function(options){
var defaults = {
eventname:"click",//觸發(fā)事件,click為點(diǎn)擊,mousemove為鼠標(biāo)移動(dòng)
titlekeyid:"tabtitle",//切換的ID
sedcss:"sed",//選中時(shí)的CSS
nosedcss:"nosed" //未選中時(shí)的CSS
}
var options = $.extend(defaults, options);
this.each(function(){
var tab=$(this);
//綁定事件
$(tab).find("li").bind(options.eventname,function(){
$("#"+options.titlekeyid).find("li").attr("class", options.nosedcss);
$(this).attr("class", options.sedcss);
$("#"+options.titlekeyid+"info").find("div").css("display", "none");
$("#"+$(this).attr("id")+"info").css("display", "block");
//個(gè)人JS能力還是有限,感覺代碼寫的不好
});
});
};
})(jQuery);
我想大家都用過(guò)一些jquery插件,我這里看下插件使用時(shí)的代碼:
(代碼二)
<script type="text/javascript">
$().ready(function(){
$("#tabtitle").tab({eventname:"mousemove",sedcss:"sed"});
})
</script>
結(jié)合以上兩段代碼進(jìn)行說(shuō)明
$("#tabtitle")表示你要使用在哪個(gè)地方,稍微了解jquery的童鞋都知道是什么意思了,不多介紹了,
.tab 就是這個(gè)插件我們定義的函數(shù)名了,對(duì)照(代碼一)中的$.fn.tab中的tab。
.tab({eventname:"mousemove",sedcss:"sed"}); 中eventname和sedcss就是(代碼一)var defaults ={};中定義的屬性值了。如果我們不需要改變屬性值,那么我們就使用默認(rèn)的屬性值,那么插件就應(yīng)該這樣使用
<script type="text/javascript">
$().ready(function(){
$("#tabtitle").tab();
})
</script>
最后附上全部的頁(yè)面代碼:
<html>
<head>
<title>tab test</title>
<script type="text/javascript" src="jquery.js">
</script>
<script type="text/javascript" src="jquery.joyleetab.js">
</script>
<script type="text/javascript">
$().ready(function(){
$("#tabtitle").tab({eventname:"mousemove",sedcss:"sed"});
})
</script>
<link href="css.css" rel="stylesheet" type="text/css">
</head>
<body>
<ul id="tabtitle">//這里的ID對(duì)應(yīng)$("#tabtitle")中的ID,LI的ID分別是尾部添加數(shù)字
<li id="tabtitle1" class="sed">asdfasfd</li>
<li id="tabtitle2">asdfasfd</li>
<li id="tabtitle3">asdfasfd</li>
<li id="tabtitle4">asdfasfd</li>
<li id="tabtitle5">asdfasfd</li>
</ul>
<div id="tabtitleinfo">//這里的ID對(duì)ul中的ID,ID分別是尾部添加數(shù)字和"info"
<div id="tabtitle1info" >000000</div>
<div id="tabtitle2info" style=" display:none">111111</div>
<div id="tabtitle3info" style=" display:none">22222</div>
<div id="tabtitle4info" style=" display:none">33333</div>
<div id="tabtitle5info" style=" display:none">44444</div>
</div>
</body>
</html>
此文重點(diǎn)在說(shuō)明jquery插件的制作方法,示例中代碼還有要優(yōu)化的地方,請(qǐng)見諒
源碼打包下載
復(fù)制代碼 代碼如下:
(function($){
$.fn.tab = function(options){//$.fn后面的tab是這個(gè)插件的函數(shù)名稱。可以更具自己喜好進(jìn)行修改
var defaults = {
//相關(guān)屬性設(shè)置
}
var options = $.extend(defaults, options);
this.each(function(){
//實(shí)現(xiàn)的功能設(shè)置 });
};
})(jQuery);
我這里是做一個(gè)tab的插件,我來(lái)完善以上代碼
復(fù)制代碼 代碼如下:
(function($){
$.fn.tab = function(options){
var defaults = {
eventname:"click",//觸發(fā)事件,click為點(diǎn)擊,mousemove為鼠標(biāo)移動(dòng)
titlekeyid:"tabtitle",//切換的ID
sedcss:"sed",//選中時(shí)的CSS
nosedcss:"nosed" //未選中時(shí)的CSS
}
var options = $.extend(defaults, options);
this.each(function(){
var tab=$(this);
//綁定事件
$(tab).find("li").bind(options.eventname,function(){
$("#"+options.titlekeyid).find("li").attr("class", options.nosedcss);
$(this).attr("class", options.sedcss);
$("#"+options.titlekeyid+"info").find("div").css("display", "none");
$("#"+$(this).attr("id")+"info").css("display", "block");
//個(gè)人JS能力還是有限,感覺代碼寫的不好
});
});
};
})(jQuery);
我想大家都用過(guò)一些jquery插件,我這里看下插件使用時(shí)的代碼:
(代碼二)
復(fù)制代碼 代碼如下:
<script type="text/javascript">
$().ready(function(){
$("#tabtitle").tab({eventname:"mousemove",sedcss:"sed"});
})
</script>
結(jié)合以上兩段代碼進(jìn)行說(shuō)明
復(fù)制代碼 代碼如下:
$("#tabtitle")表示你要使用在哪個(gè)地方,稍微了解jquery的童鞋都知道是什么意思了,不多介紹了,
.tab 就是這個(gè)插件我們定義的函數(shù)名了,對(duì)照(代碼一)中的$.fn.tab中的tab。
.tab({eventname:"mousemove",sedcss:"sed"}); 中eventname和sedcss就是(代碼一)var defaults ={};中定義的屬性值了。如果我們不需要改變屬性值,那么我們就使用默認(rèn)的屬性值,那么插件就應(yīng)該這樣使用
<script type="text/javascript">
$().ready(function(){
$("#tabtitle").tab();
})
</script>
最后附上全部的頁(yè)面代碼:
復(fù)制代碼 代碼如下:
<html>
<head>
<title>tab test</title>
<script type="text/javascript" src="jquery.js">
</script>
<script type="text/javascript" src="jquery.joyleetab.js">
</script>
<script type="text/javascript">
$().ready(function(){
$("#tabtitle").tab({eventname:"mousemove",sedcss:"sed"});
})
</script>
<link href="css.css" rel="stylesheet" type="text/css">
</head>
<body>
<ul id="tabtitle">//這里的ID對(duì)應(yīng)$("#tabtitle")中的ID,LI的ID分別是尾部添加數(shù)字
<li id="tabtitle1" class="sed">asdfasfd</li>
<li id="tabtitle2">asdfasfd</li>
<li id="tabtitle3">asdfasfd</li>
<li id="tabtitle4">asdfasfd</li>
<li id="tabtitle5">asdfasfd</li>
</ul>
<div id="tabtitleinfo">//這里的ID對(duì)ul中的ID,ID分別是尾部添加數(shù)字和"info"
<div id="tabtitle1info" >000000</div>
<div id="tabtitle2info" style=" display:none">111111</div>
<div id="tabtitle3info" style=" display:none">22222</div>
<div id="tabtitle4info" style=" display:none">33333</div>
<div id="tabtitle5info" style=" display:none">44444</div>
</div>
</body>
</html>
此文重點(diǎn)在說(shuō)明jquery插件的制作方法,示例中代碼還有要優(yōu)化的地方,請(qǐng)見諒
源碼打包下載
您可能感興趣的文章:
- 強(qiáng)烈推薦240多個(gè)jQuery插件提供下載
- 跟我一起學(xué)寫jQuery插件開發(fā)方法(附完整實(shí)例及下載)
- 分享20多個(gè)很棒的jQuery 文件上傳插件或教程
- jquery插件制作 手風(fēng)琴Panel效果實(shí)現(xiàn)
- jquery插件制作 圖片走廊 gallery
- jquery插件制作 表單驗(yàn)證實(shí)現(xiàn)代碼
- 一個(gè)簡(jiǎn)單的jQuery插件制作 學(xué)習(xí)過(guò)程及實(shí)例
- 一步一步制作jquery插件Tabs實(shí)現(xiàn)過(guò)程
- jquery插件制作 提示框插件實(shí)現(xiàn)代碼
- jQuery焦點(diǎn)圖切換簡(jiǎn)易插件制作過(guò)程全紀(jì)錄
- 基于jquery插件制作左右按鈕與標(biāo)題文字圖片切換效果
- jquery插件制作 自增長(zhǎng)輸入框?qū)崿F(xiàn)代碼
- jquery插件格式實(shí)例分析
相關(guān)文章
jQuery實(shí)現(xiàn)checkbox全選的方法
這篇文章主要介紹了jQuery實(shí)現(xiàn)checkbox全選的方法,涉及jQuery操作頁(yè)面元素屬性及鼠標(biāo)事件響應(yīng)的相關(guān)技巧,需要的朋友可以參考下2015-06-06
JQuery 構(gòu)建客戶/服務(wù)分離的鏈接模型中Table中的排序分析
從上篇文章,我們實(shí)現(xiàn)了Table分頁(yè)代碼的高效性,咱們繼續(xù)沿著這個(gè)思路,探討Table表格數(shù)據(jù)中另外一個(gè)很常見的排序問(wèn)題。說(shuō)到排序,我記得在asp.net中 GridView中提供了這樣的方便,只需在展示字段上加上 Sorting 這樣的屬性,基本就完成了,剩下就是服務(wù)端cs代碼的寫法了。2010-01-01
jqGrid 學(xué)習(xí)筆記整理——進(jìn)階篇(一 )
這篇文章主要介紹了jqGrid 學(xué)習(xí)筆記整理——進(jìn)階篇(一 )的相關(guān)資料,需要的朋友可以參考下2016-04-04
poshytip 基于jquery的 插件 主要用于顯示微博人的圖像和鼠標(biāo)提示等
分享一個(gè)jquery插件-主要用于顯示微博人的圖像和鼠標(biāo)提示等poshytip2012-10-10
jquery自動(dòng)填充勾選框即把勾選框打上true
jquery自動(dòng)填充勾選框,即把勾選框打上(true),然后通過(guò)ajax方式獲得勾選項(xiàng)列表,再把列表內(nèi)的選項(xiàng)打上2014-03-03
jQuery實(shí)現(xiàn)彩帶延伸效果的網(wǎng)頁(yè)加載條loading動(dòng)畫
這篇文章主要介紹了jQuery實(shí)現(xiàn)彩帶延伸效果的網(wǎng)頁(yè)加載條loading動(dòng)畫,涉及jQuery動(dòng)畫效果的實(shí)現(xiàn)技巧,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下2015-10-10

