`
yuanjianhang
  • 浏览: 109000 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

编写jQuery插件

阅读更多

编写插件的目的是给已有的一系列方法和函数做一个封装,方便重复使用。

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插件之表格隔行变色》

1
0
分享到:
评论

相关推荐

    如何编写jquery插件

    本文将详细介绍如何编写jQuery插件 类型 jQuery的插件主要分为3种类型 1、封装对象方法 这种插件是将对象方法封装起来,用于对通过选择器获取的jQuery对象进行操作,是最常见的一种插件。此类插件可以发挥出jQuery...

    jQuery插件开发学习

    NULL 博文链接:https://zhoucl.iteye.com/blog/1239737

    用JS编写JQuery插件版的动画播放器

    NULL 博文链接:https://nomandia.iteye.com/blog/1167630

    jquery插件编写指南

    这里提供最基础的jquery插件编辑方法,为jquery插件学习者提供帮助。

    jquery-plugin-typescript-example:示例项目,演示如何使用TypeScript编写jQuery插件

    jquery-plugin-typescript-example:示例项目,演示如何使用TypeScript编写jQuery插件

    eclipse上支持jquery插件

    eclipse上支持jquery的插件,使eclipse能够提供jquery提示,更快编写jquery代码

    编写jquery弹出框插件

    编写jquery弹出框插件 自己制作 编写javascript

    jQuery基础教程

    《jQuery基础教程(第2版)》最后两章专门介绍了如何使用和编写jQuery插件。值得一提的是,本版新增的附录D分门别类地列出了所有jQuery API,为高效使用jQuery提供了方便。, 《jQuery基础教程(第2版)》注重理论与实践...

    jquery插件使用方法大全

    plugin历史版本1、新的事件.on() .off()3、动画的改进1.42版介绍JQuery插件让Dreamweaver支持提示代码功能引入JQuery展开编辑本段简介  jQuery由美国人John Resig创建,至今已吸引了来自世界各地的众多javascript...

    eclipse插件 - jQuery

    我们在编写js的时候,如果采用了jquery框架,当然很希望Eclipse能帮我们完成代码自动完成的功能了,但Eclipse默认只是支持js的代码自动完成,利用这个插件,可以让Eclipse支持jquery的代码自动完成功能(前提:...

    jQuery基础教程(中文第2版)完整高清pdf

    本书最后两章专门介绍了如何使用和编写jQuery插件。值得一提的是,本版新增的附录D分门别类地列出了所有 jQuery API,为高效使用jQuery提供了方便。  本书注重理论与实践相结合,适合初中级Web开发人员阅读和参考

    jQuery-Pulgins:我的日常工作 jQuery 插件

    jQuery 插件我的日常工作 jQuery 插件==== star.js ==== 描述:明星的jQuery插件注意:我第一次尝试编写 jQuery 插件。 ====滑块.js ==== 描述:滑块的jQuery插件版本:1.0 日期 : 2013-10-15 14:00:09 版本:1.0.1 ...

    如何编写jquery组件(jq插件).zip

    如何编写jquery组件(jq插件)

    编写jquery弹出框插件.docx

    编写jquery弹出框插件.docx 很方便,又实用

    Jquery扩展 编写自已的Jquery插件

    这是一本带领你一步步编写自己的Jquery自定义插件或控件的好书,本书共14章,内容充实,是不本相当不错的前端开发学习资料

    jquery-numpad:数字键盘jQuery插件

    所以,您已经尝试过编写 jQuery 插件,并且很容易将一些可能有效的东西放在一起。 惊人的! 问题是,您认为可能有更好的方式来编写它们 - 您已经看到它们在野外以多种不同的方式完成,但不确定这些模式之间有什么...

    让人期待的2011年度最佳 jQuery 插件分享

    jQuery的易扩展性吸引了来自全球的开发者来共同编写 jQuery 插件,jQuery 插件不仅能够增强网站的可用性,有效的改善用户体验,还可以大大减少开发时间。 Isotope Isotype 是一款非常优秀的 jQuery 插件,用于创建...

    JQuery编写百叶窗Flash插件

    使用Jquery编写的一个Flash图片轮播插件,类似于百叶窗效果。 随机的特效有: 1、左上角缩小至0 2、分行slideUp 3、渐变 4、整体上移 5、整体下移 6、整体左移 7、整体右移 8、行阶梯性左移 9、行阶梯性右移 10、行...

Global site tag (gtag.js) - Google Analytics