本文实例讲述了jQuery进行组件开发的方法,分享给大家供大家参考,具体如下:
前面的《JavaScript组件开发》分析了JavaScript进行组件开发的技巧,这里分析使用jQuery进行组件开发的方法。
使用jQuery进行组件开发和使用纯JavaScript脚本(不使用框架)原理基本类似,特别是公共方法的组织是一样的。
不同点是,jQuery使用了插件机制,通过$()直接进行操作对象(DOM元素)绑定,然后对DOM元素或HTML代码进行绑定事件等的操作。
另一个不同点则是把jQuery当做工具来使用,用来创建DOM对象,快速查找指定DOM对象等。
例子测试通过。
初级简单示例,只实现了增加页和选择页功能。
Design JS component with jQuery
script>
选项1
选项2
选项3
11111
22222
33333
(function ($) {
$.fn.tabs = function (options) {
var me = this;
//使用鼠标移动触发,亦可通过click方式触发页面切换
var defualts = { switchingMode: "mousemove" };
//融合配置项
var opts = $.extend({}, defualts, options);
//DOM容器对象,类似MX框架中的$e
var $e = $(this);
//选中的TAB页索引
var selectedIndex = 0;
//TAB列表
var $lis;
//PAGE容器
var aPages = [];
//初始化方法
me.init = function(){
//给容器设置样式类
$e.addClass("tabsDiv");
$lis = $("ul li", $e);
//设置TAB头的选中和非选中样式
$lis.each(function(i, dom){
if(i==0){
$(this).addClass("tabsSeletedLi")
}else{
$(this).addClass("tabsUnSeletedLi");
}
});
//$("ul li:first", $e).addClass("tabsSeletedLi");
//$("ul li", $e).not(":first").addClass("tabsUnSeletedLi");
//$("div", $e).not(":first").hide();
//TAB pages绑定
var $pages = $('div', $e);
$pages.each(function(i, dom){
if(i == 0){
$(this).show();
}else{
$(this).hide();
}
aPages.push($(this));
});
//绑定事件
$lis.bind(opts.switchingMode, function() {
var idx = $lis.index($(this))
me.selectPage(idx);
});
}
/**
* 选中TAB页
*
*/
me.selectPage = function(idx){
if (selectedIndex != idx) {
$lis.eq(selectedIndex).removeClass("tabsSeletedLi").addClass("tabsUnSeletedLi");
$lis.eq(idx).removeClass("tabsUnSeletedLi").addClass("tabsSeletedLi");
aPages[selectedIndex].hide();
aPages[idx].show();
selectedIndex = idx;
};
}
me.showMsg = function(){
alert('WAHAHA!');
}
//自动执行初始化函数
me.init();
//返回函数对象
return this;
};
})(jQuery);
script>
最终效果如图所示:

希望本文所述对大家jQuery程序设计有所帮助。