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

jQuery插件编写

2013-05-26 12:37 211 查看
/*

Hello everybody,让我们来写个jQuery插件,不要一直用jquery,却连插件都不会写。

哈哈哈,开玩笑啦。

当你看到这篇日志,可以肯定的是,你是jQuery的粉丝哦。

话说js是很随意的语言,很随便,想怎么写就怎么写。

且看这段代码

*/

var jQuery = new Object();//或者var jQuery = {};

jQuery.method = function(args){
alert("hello," + args);

}

jQuery.method("Henry");

/*

嘿嘿,太明显了,你会看到"hello,Henry"的弹出信息的。是不是这段代码巨简单。

当然,你自然而然会想到用这种方法。如下:

*/

<script language="javascript" src="jquery.js"></script>

<script language="javascript">
jQuery.method = function(){
alert("hello,this is my defined method");
}
jQuery.method();

</script>

/*

确实效果如你所愿了。但是不是最好的。因为,一个好的框架一定留给你好的接口了。

最好是使用它的。应该如下:

*/

jQuery.extend({
method: function(){
alert("hello,this is my defined method");
}

});

jQuery.method();

/*

不错吧,效果还是一样的。不过这样是最好的,为什么呢?因为,当你的函数需要

增加参数的时候,如果别人不添加参数,你就需要用默认的参数。这时,你的设计

好处就来了,see it ^.^:

*/

jQuery.extend({
method: function(options){
var defaults = {
name : "Henry",
sex  : "male"
};
jQuery.extend(defaults,options);//如此一来,你的所有参数都进来了哦。
alert("hello," + defaults.name + ",you are " + defaults.sex);
}

});

jQuery.method();

jQuery.method({
name : "yourname",
sex  : "sex"

});

//无论如何,你都可以调用我写的插件哦。呵呵呵

/*

还有还有哈,需要提醒你的是,如果你看了我写的解析jquery源码或者自己分析过jQuery源码

你将会有不同的感受。上面是静态方法的扩展,也就是你无须选择任何一个元素,直接通过

jQuery类来使用方法。下面介绍一个元素的操作方法。你只需把jQuery.extend()改成

jQuery.fn.extend();就可以了。

*/

jQuery.fn.extend({
method: function(options){
var defaults = {
name : "Henry",
sex  : "male"
};
jQuery.extend(defaults,options);//如此一来,你的所有参数都进来了哦。
alert("hello," + defaults.name + ",you are " + defaults.sex);
return $(this);//不要忘记返回自己,实现链接调用。
}

});

//------------------------------------------JavaScript群:55732875
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息