Jquery 插件学习实例1 插件制作说明与tableUI优化


一. 先对jQuery制作方式,jQuery为开发扩展提拱了两个方法,分别是:
jQuery.extend(object); 为扩展jQuery类本身.为类添加新的方法。
jQuery.fn.extend(object);给jQuery对象添加方法。
1.1、jQuery.fn.extend(object):
可以参靠jquery参考手册的连个例子:
复制代码 代码如下:

$.fn.extend({
check: function() {
return this.each(function() { this.checked = true; });
},
uncheck: function() {
return this.each(function() { this.checked = false; });
}
});

使用:
复制代码 代码如下:

$("input[type=checkbox]").check();
$("input[type=radio]").uncheck();

1.2、jQueryjQuery.extend(object)
扩展jQuery对象本身。用来在jQuery命名空间上增加新函数。
jQuery 代码:
复制代码 代码如下:

$.extend({
min: function(a, b) { return a < b ? a : b; },
max: function(a, b) { return a > b ? a : b; }
});

使用:
复制代码 代码如下:

$.min(2,3); // => 2
$.max(4,5); // => 5

二、tableUI具体的插件示例代码如下:
复制代码 代码如下:

/*
* tableUI 0.2
* 就不写版权了吧,呵呵
* Date: 4/1/2010
* 使用tableUI可以方便地将表格提示使用体验。先提供的功能有奇偶行颜色交替,鼠标移上高亮显示
* 0.2版结合25个小贴士对“政委”的那个做了些优化,学习之用,还请指正。
*/
(function($) {
$.fn.tableUI = function(options) {
//默认参数
var defaults = {
evenRowClass: "evenRow",
oddRowClass: "oddRow",
activeRowClass: "activeRow"
};
//用传入参数覆盖了默认值
options = $.extend(defaults, options);
//表对象
var thisTable = $(this);
//添加奇偶行颜色
thisTable.find("tr:even").addClass(options.evenRowClass);
thisTable.find("tr:odd").addClass(options.oddRowClass);
//绑定鼠标移动事件,不必对每行都绑定事件。
thisTable.live("mouseover", function(e) {
//获取鼠标所指目标对象父级tr
$(e.target).parent().addClass(options.activeRowClass);
//阻止事件冒泡
return false;
}).live("mouseout", function(e) {
$(e.target).parent().removeClass(options.activeRowClass);
return false;
});
};
})(jQuery);


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3