`
032615
  • 浏览: 61548 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

jQuery插件

 
阅读更多

开始之前我得先声明关于几点jQuery的概念:

1、$是jQuery的简写,任何出现$()的地方你都可以转换成jQuery()。

2、jQuery.fn只是jQuery.prototype的一个别名而已。但前提是你要知道JavaScript里面prototype是什么意思。JavaScript prototype整理

OK,如果你清楚上面两个概念,那么我们进入正题:

jQuery提供两种实现插件机制:jQuery.extend(object)、jQuery.fn.extend(object)。

一、jQuery中的$.extend

$.extend也就是支撑起jQuery插件半天边吧,所以我们还是得先了解一下他:

$.extend(object) 将object对象逐个复制给jQuery对象。

问题: 

  1. $.extend({ showMsg: function(msg) {  } });  

  1. $.showMsg = function(msg) { }  

这两者是没有区别,只是第二种方式看起来更加简洁(至少我喜欢这样子写),当然$.extend支持更加复杂操作,比如:

  1. $.extend({  
  2.   
  3. min: function(a, b) { // do something },  
  4.   
  5. max: function(a, b) { // do something }  
  6.   
  7. }); // 逐个将min、max方法复制给jQuery对象。  

当然还可以提供另一个对象,并不一定非要复制给jQuery对象,比如:jQuery.extend({ args:’我是args属性’ }, options); // 将args复制给options对象

理解上面这些将对我们后面写插件很有帮助。

二、jQuery.extend(object)

扩展jQuery对象本身,意思就是说在jQuery对象本身增加新函数。

当然这是针对jQuery做的一个扩展,实际上你也可以这么写:

  1. jQuery.extend({ pluginName: function(args) { } });  

当然还有更简洁、更漂亮的办法:

  1. jQuery.pluginName = function(args) {}  

它的使用方法非常简单:$.pluginName(‘我就是这么被调用的’);

jQuery官网就提供一个cookie插件,她就是使用这种插件机制实现的,感兴趣的同学可以看看

三、jQuery.fn.extend(object)

扩展 jQuery 元素集来提供新的方法,绝大部分我们都需要通过jQuery筛选出来一些元素集,然后对元素集进行操作,所以呢,这种插件机制也成了首选。

  1. jQuery.fn.extend({  // 上面已经提到extend如果有多个成员、方法都将会逐个复制给jQuery  
  2.  check: function() {  
  3.  return this.each(function() { this.checked = true; });  
  4.  },  
  5.  uncheck: function() {  
  6.  return this.each(function() { this.checked = false; });  
  7.  }  
  8.  });  

实现全选和非全选两个插件。

使用方法:$(“input[type=checkbox]“).check(); // 全选所有checkbox选项框

其中:$(“input[type=checkbox]“) 是一个元素集。

四、我需要很多参数

很多情况下,我们需要传递很多参数,但是绝大部分又是可选的,比如一个基于FLASH来切换图片效果示例(这在大部分网站里面都会出现的):

  1. $.fn.SwfSlide = function(options) {  
  2.   
  3. options = $.extend({ // 上面我已经讲明了,$.extend可以将对象复制到另一个对象上,而实现可选参数方法是通过她来实现  
  4.  swfFile: '/images/pixviewer.swf?1',  
  5.  fwidth: 200,  // 默认宽度  
  6.  fheight: 160, // 默认高度  
  7.  theight: 18,  
  8.  files: '',  
  9.  links: '',  
  10.  texts: ''  
  11.  }, options || {});  
  12.   
  13. }  

这里面有七个参数,但是当你在调用的时候你不需要七个全指明,也许你只要三个,像这样:$(‘div’).SwfSlide({ files:”, links:”, texts:” });

五、可不是这么就完了

JavaScript脚本框架非常多,最经典像是prototype、yui、mootools等等,如果说一个项目运用多套框架的话,遇到最多关于$冲突问题。jQuery本身提供一些多库共存的解决方案。但是做为我们基于jQuery来写插件,我们还是要考虑到这个多库共存带来的问题。

其实也只是非常简单的一个技巧,将插件代码放到一个包裹器里面:

  1. (function($) {  
  2.   
  3. // 插件代码  
  4.   
  5. })(jQuery); // javascript的匿名对象,强制jQuery对象传递给$,确保我们插件里面使用$都是jQuery对象。  

 

转载处:http://asdfblog.com/technology/ready-jquery-plugin.html

分享到:
评论

相关推荐

    jquery插件库大全(200个).zip

    jquery插件库大全(200个): jqueryQQ表情插件 jquery下拉菜单导航 jquery下拉菜单栏 jquery仿Windows系统选中图标效果 jquery仿京东商品详情页图片放大效果 jquery仿百度新闻焦点轮播 jquery分离布局模版 jquery...

    jquery插件库-jquery仿京东商品详情页图片放大效果.zip

    "jquery插件库-jquery仿京东商品详情页图片放大效果.zip"这个压缩包文件包含了一个jQuery插件,旨在模仿京东商品详情页中的图片放大效果,为用户提供更直观的商品查看体验。 首先,我们来详细了解一下jQuery插件的...

    jquery插件库(jquery.treeview插件库)

    jquery插件库(jquery.treeview插件库)jquery插件库(jquery.treeview插件库)jquery插件库(jquery.treeview插件库)jquery插件库(jquery.treeview插件库)jquery插件库(jquery.treeview插件库)jquery插件库(jquery....

    好用清除html的jquery插件

    你可以通过查看源代码来学习其工作原理,这对于初学者或者希望深入了解jQuery插件开发的人来说是一个很好的学习机会。 标签“清除html格式”是这个插件的核心特性,它可能包括移除HTML标签、属性、样式以及其他非...

    jquery插件.rar

    《jQuery插件开发详解》 在Web开发领域,jQuery是一个广泛应用的JavaScript库,它极大地简化了JavaScript的DOM操作、事件处理、动画制作等任务。jQuery插件是jQuery生态系统的重要组成部分,它们扩展了jQuery的核心...

    JQuery插件

    JQuery插件是JavaScript库JQuery生态中的一个重要组成部分,它扩展了JQuery的基本功能,为开发者提供了更加丰富和便捷的API来实现各种复杂的交互效果和动画。在网页开发中,JQuery插件广泛应用于增强用户体验、创建...

    jquery插件

    2. **多媒体播放**:jQuery插件如`jQuery.media`和`jPlayer`提供了优雅的方式来处理视频和音频播放,支持多种格式,提供自定义的播放器皮肤和控制选项,使开发者能够创建互动性强的多媒体体验。 3. **DOM操作和事件...

    50个精彩JQuery插件案例

    1. **jQuery插件的原理**:jQuery插件是基于jQuery核心功能扩展的功能模块,通过$.fn.extend()方法,将新方法添加到jQuery对象的prototype上,使得所有jQuery选择器都能调用这些新方法。 2. **DOM操作**:jQuery...

    50个jquery插件介绍

    "50个jQuery插件介绍"这篇文档很可能包含了对各种功能强大、用途广泛的jQuery插件的详细解读,帮助开发者提升网站的用户体验和功能实现。 首先,jQuery插件是jQuery库的扩展,由社区开发者创建,用于解决特定问题或...

    sublime2 jquery插件

    在Sublime Text 2中安装jQuery插件,可以极大地提升前端开发者的工作效率,使得jQuery代码的编写更加得心应手。 jQuery是一种强大的JavaScript库,它简化了HTML文档遍历、事件处理、动画以及Ajax交互等任务,极大地...

    jquery插件大全(内含Demo)

    **jQuery插件大全:打造网页交互新体验** jQuery是一个广泛使用的JavaScript库,它极大地简化了JavaScript的DOM操作、事件处理、动画设计以及Ajax交互。这个"jQuery插件大全(内含Demo)"压缩包文件提供了丰富的...

    jQuery插件开发的五种形态小结

    jQuery作为JavaScript领域中广泛使用的库之一,提供了快速、简洁的DOM操作和事件处理方式,而jQuery插件则是扩展jQuery功能的重要手段。本知识点将详细介绍如何开发jQuery插件,并总结五种常见的形态。 ### 一、...

    eclipse上支持jquery插件

    标题“eclipse上支持jquery插件”所指的就是这种能够为Eclipse添加jQuery智能提示和代码辅助功能的扩展。这样的插件使得开发者在编写jQuery代码时,可以享受到如同使用Java或其他语言一样的代码补全、错误检查和调试...

    很好用的Jquery插件

    本文将深入探讨“很好用的Jquery插件”,并介绍几个常用插件及其简单使用方法,这对于在项目中提升用户体验具有显著帮助。 首先,jQuery库的核心优势在于它的API设计,它提供了丰富的选择器、DOM操作、事件处理和...

    jquery 插件

    **jQuery插件详解** jQuery,一个轻量级、高性能的JavaScript库,因其简洁的API和强大的功能,成为了前端开发中的必备工具。jQuery插件是jQuery生态的重要组成部分,它们扩展了jQuery的基本功能,使得开发者能够更...

    eclipse中jquery插件配置

    Eclipse 中 jQuery 插件配置详解 在 Eclipse 中配置 jQuery 插件可以实现智能提示功能,提高编码效率。下面详细介绍了 jQuery 插件配置的步骤和注意事项。 Eclipse 中 jQuery 插件配置步骤 1. 下载 jQueryWTP ...

    Jquery插件

    而jQuery插件则是开发者为了扩展jQuery功能,实现特定效果或工具所编写的代码模块。这些插件极大地丰富了jQuery的功能,使得网页开发更加高效便捷。 ### 1. jQuery插件的结构 一个基本的jQuery插件通常包含以下...

    jQuery插件jQuery插件

    jQuery插件jQuery插件jQuery插件jQuery插件jQuery插件jQuery插件jQuery插件jQuery插件jQuery插件jQuery插件jQuery插件jQuery插件jQuery插件

    orgchart.js 组织架构图之JQuery插件

    组织架构图之JQuery插件组织架构图之JQuery插件组织架构图之JQuery插件组织架构图之JQuery插件组织架构图之JQuery插件组织架构图之JQuery插件组织架构图之JQuery插件组织架构图之JQuery插件组织架构图之JQuery插件...

Global site tag (gtag.js) - Google Analytics