您的位置:首页 > Web前端 > JQuery

jQuery 插件-(初体验一)

2015-07-11 12:10 645 查看
1.jquery有2个扩展方法:

jquery.fn.extend=jquery.prototype.extend

jquery.extend

(两者的区别放在后面文章说)

2.具体实例结构:

//创建及时作用域
(function ($) {

// 通过字面量创造一个对象,存储我们需要的共有方法
var methods = {
inint: function (options) {

//返回“this”(函数each()的返回值也是this),以便进行链式调用。
return this.each(function () {

// 为每个独立的元素创建一个jQuery对象
var $this = $(this);

//设置默认值
var defaults = {
proName: 'zqz'

};

if (typeof (options) == 'undefined') {
settings = $.extend({}, defaults);
} else {
var settings = {
proName: options.proName,
Events: handlers.zqzClick($this, options)
};
settings = $.extend({}, defaults, settings);
}

})
}
};

//事件
var handlers = {
zqzClick: function ($this, options) {
$this.bind('click', options.zqzClick);
}
};

//向jQuery中被保护的“fn”命名空间中添加你的插件代码,用“zqz”作为插件的函数名称
$.fn.zqz = function () {

// 检验方法是否存在
var method = arguments[0];

if (methods[method]) {
method = methods[method];

arguments = Array.prototype.slice.call(arguments, 1);

// 如果方法不存在,检验对象是否为一个对象(JSON对象)或者method方法没有被传入
} else if (typeof (method) == 'object' || !method) {
method = methods.inint;
} else {
$.error('asdasd');

return this;
}
return method.apply(this, arguments);
}

})(jQuery)

//调用
$(function () {
//$('#blanckjh').zqz();
$('#blanckjh').zqz({
'proName': 'wdx',
'zqzClick': function () {
alert("zqz");
}

});
})


3.插件中涉及到的一些概念与注意事项放在后面文章说
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: