编写插件的目的是给已有的一系列方法和函数做一个封装,方便重复使用。
jQuery插件主要分为三种类型:
1、封装对象方法的插件
例如parent(),appendTo()和addClass()方法
2、封装全局函数的插件
可以将独立的函数加到jQuery命名空间之下。例如jQuery.noConflict()方法。
3、选择器插件
虽然jQuery的选择器已经很厉害,可是我们仍然可以构建自己的选择器。
编写jQuery插件要注意几个要点:
1、jQuery插件的文件名推荐命名为:jquery.[插件名].js
2、所有的对象方法都应该附加到jQuery.fn对象上,而所有的全局函数都应该附加到jQuery对象本身上。
3、所有的jQuery插件都应该位于闭包中。利用闭包的特性,既可以避免内部的临时变量影响全局空间,又可以在插件内部继续使用$作为jQuery的别名。
闭包的写法如下:
(function($) {
//这里是代码
})(jQuery);
jQuery提供了两个用于扩展jQuery功能的方法,分别为:jQuery.fn.extend()和jQuery.extend()。
jQuery.fn.extend()方法用于扩展对象方法的插件,而jQuery.extend()用于编写全局函数和选择器插件。这两个方法都接受一个参数,该参数的类型为:Object。Object对象的“名/值对”分别代表“函数或方法名/函数主体”。
jQuery.extend()用法如下:
var settings = {validate:false,limit:5,name:'foo'};
var options = {validate:true,name:'bar'};
var newoptions = jQuery.extend(settings,options);
此时,变量newoptions的值为:
newoptions = {validate:true,limit:5,name:'bar'}
下面我们开始创建jQuery插件:
还记得css有个color属性吧,如果在jQuery中使用它,只能通过$().css('color','#F00')来设置。jQuery不能直接使用$().color()来定义相关的颜色,我们下面就定义一个这样的插件。
首先,根据命名规范,我们为这个插件命名为:jquery.color.js
然后我们开始写入代码,注意所有的代码都是写在闭包之中的:
(function($) {
$.fn.extend({
color:function(value) { //这种结构类似于:{validate:false,limit:5,name:'foo'},只不过这里定义的是方法,所以用了函数作为值
if(value==undefined) {
return this.css('color'); //如果没有传入参数,即value的值为空的情况下,这个方法就是取得相关元素的颜色值,而不是赋值
} else {
return this.css('color',value); //有参数传入,即value的值不为空的情况下,这个方法就是为相关的元素
}
}
});
})(jQuery);
这就是一个简单的jQuery插件的写法,使用方法就跟其它的jQuery方法没什么区别了,例如,你想给页面中P段落内所有的文字都设置成红色,就可以像下面这样写:
$(function() {
$('P').color('#F00');
})
怎么样,简单吧!
我这里还有几个创建jQuery插件的例子,只是我现在自己还没有研究会,当然不好意思跟大家说了,这两天我研究出来后就会继续写续集,现在先放上这么多,希望对大家有所帮助!
请看本博客中的《jQuery插件之表格隔行变色》
分享到:
相关推荐
本文将详细介绍如何编写jQuery插件 类型 jQuery的插件主要分为3种类型 1、封装对象方法 这种插件是将对象方法封装起来,用于对通过选择器获取的jQuery对象进行操作,是最常见的一种插件。此类插件可以发挥出jQuery...
NULL 博文链接:https://zhoucl.iteye.com/blog/1239737
NULL 博文链接:https://nomandia.iteye.com/blog/1167630
这里提供最基础的jquery插件编辑方法,为jquery插件学习者提供帮助。
jquery-plugin-typescript-example:示例项目,演示如何使用TypeScript编写jQuery插件
eclipse上支持jquery的插件,使eclipse能够提供jquery提示,更快编写jquery代码
编写jquery弹出框插件 自己制作 编写javascript
《jQuery基础教程(第2版)》最后两章专门介绍了如何使用和编写jQuery插件。值得一提的是,本版新增的附录D分门别类地列出了所有jQuery API,为高效使用jQuery提供了方便。, 《jQuery基础教程(第2版)》注重理论与实践...
plugin历史版本1、新的事件.on() .off()3、动画的改进1.42版介绍JQuery插件让Dreamweaver支持提示代码功能引入JQuery展开编辑本段简介 jQuery由美国人John Resig创建,至今已吸引了来自世界各地的众多javascript...
我们在编写js的时候,如果采用了jquery框架,当然很希望Eclipse能帮我们完成代码自动完成的功能了,但Eclipse默认只是支持js的代码自动完成,利用这个插件,可以让Eclipse支持jquery的代码自动完成功能(前提:...
本书最后两章专门介绍了如何使用和编写jQuery插件。值得一提的是,本版新增的附录D分门别类地列出了所有 jQuery API,为高效使用jQuery提供了方便。 本书注重理论与实践相结合,适合初中级Web开发人员阅读和参考
jQuery 插件我的日常工作 jQuery 插件==== star.js ==== 描述:明星的jQuery插件注意:我第一次尝试编写 jQuery 插件。 ====滑块.js ==== 描述:滑块的jQuery插件版本:1.0 日期 : 2013-10-15 14:00:09 版本:1.0.1 ...
如何编写jquery组件(jq插件)
编写jquery弹出框插件.docx 很方便,又实用
这是一本带领你一步步编写自己的Jquery自定义插件或控件的好书,本书共14章,内容充实,是不本相当不错的前端开发学习资料
所以,您已经尝试过编写 jQuery 插件,并且很容易将一些可能有效的东西放在一起。 惊人的! 问题是,您认为可能有更好的方式来编写它们 - 您已经看到它们在野外以多种不同的方式完成,但不确定这些模式之间有什么...
jQuery的易扩展性吸引了来自全球的开发者来共同编写 jQuery 插件,jQuery 插件不仅能够增强网站的可用性,有效的改善用户体验,还可以大大减少开发时间。 Isotope Isotype 是一款非常优秀的 jQuery 插件,用于创建...
使用Jquery编写的一个Flash图片轮播插件,类似于百叶窗效果。 随机的特效有: 1、左上角缩小至0 2、分行slideUp 3、渐变 4、整体上移 5、整体下移 6、整体左移 7、整体右移 8、行阶梯性左移 9、行阶梯性右移 10、行...