注意:jQuery中有一个extend的方法,这个方法是添加js对象字段的,下面会多次用到

1:添加全局类的方法

常用的ajax就是该类插件,下面要编写一个简单的加法和减法的基于jQuery的方法

     $.extend({
add:function(a,b){return a+b;},
minus:function(a,b){return a-b;}
}); var i= $.add(100,200);
var j= $.minus(100,200);
alert(i+'##'+j);

第6行和第7行就可以使用该方法,对于js的全局静态公用方法,都可以这样写,将其他语言中的Global,Helper或者Utils等等文件中的方法,在js中可以用这种扩展jQuery的方法去做

2:添加对象的方法

下面要给按钮标签自定义一些方法,通过jQuery来调用(注意,按钮使用了bootstrap的样式,不过这对于下面的演示没有关系^_^)

 <div id="btn" class="btn btn-danger">
按钮点击
</div>

下边给按钮自定义了一个初始化的方法,让按钮把传入的参数显示在content上,而且还自定义了一个press的回调事件的方法

   +function($){
var parms={
name:"pluign",
version:"2.0"
};
var showDesc=function(obj){
$(obj).text(JSON.stringify(parms));
}
$.fn.initButton=function(options){
$.extend(parms,options);
return this.each(function(){
showDesc(this);
$(this).on('click',function(){
parms.press.apply(this);
});
});
}
}(jQuery);
$('#btn').initButton({
name:'hello world',
sex :'Male',
press:function(){
alert('click button');
}
});

第1行到18行是对jQuery的扩展,注意第一行的+号的写法,其实就是(function($){})(jQuery);
博主是参照Bootstrap的源码的写法,至于为什么这样写,猜测估计是为了省一个括号“)”字符吧,呵呵

方法中的showDesc将传入参数显示到按钮上

具体效果如下:

由此可见:传入的参数,都可以在jQuery扩展中拿到,这样就可以在自己的扩展插件中做任意想做的事情了。

编写基于jQuery的插件的方法的更多相关文章

  1. 基于jquery的插件turn.js学习笔记

    基于jquery的插件turn.js学习笔记 简介 turn.js是一个可以实现3d书籍展示效果的jq插件,使用html5和css3来执行效果.可以很好的适应于ios和安卓等触摸设备. How it ...

  2. 基于JQuery.timer插件实现一个计时器

    基于JQuery.timer插件实现一个计时器,需要的朋友可以参考下.   先去官网下载jQuery Timers插件 ,然后引用到html中.这里是1.2 version 复制代码代码如下: < ...

  3. 基于jQuery日历插件制作日历

    这篇文章主要介绍了基于jQuery日历插件制作日历的相关资料,需要的朋友可以参考下 来看下最终效果图吧: 是长得丑了一点,不要吐槽我-.- 首先来说说这个日历主要的制作逻辑吧: ·一个月份最多有31天 ...

  4. 基于jquery 移动插件的实现

    引用谢灿勇 地址  http://www.cnblogs.com/st-leslie/p/6002148.html 一个思路分析:大致上实现的思路有以下两种. 一.判断块是否被按下(mousedown ...

  5. 基于jquery fly插件实现加入购物车抛物线动画效果,jquery.fly.js

    在购物网站中,加入购物车的功能是必须的功能,有的网站在用户点击加入购物车按钮时,就会出现该商品从点击出以抛物线的动画相似加入购物车,这个功能看起来非常炫,对用户体验也有一定的提高.下面介绍基于jque ...

  6. 基于 jQuery Jcrop 插件的功能模块:头像剪裁

    /** Jcrop version: 0.9.12 jQuery version: 1.9.0 Author: 小dee Date: 2014.10.30 */ 先看看他山之石:博客园的头像模块也是使 ...

  7. 基于jquery分页插件

    今天终于完成了基于jquery的分页插件的代码编写,也通过了功能测试,实现了分页功能:由于刚开始写jquery的插件,所以梳理逻辑的时间也很长,整个过程整整一周时间,今天终于搞完了,先将整个分页插件的 ...

  8. Jquery开发插件的方法

    Jquery未开发插件提供了两个方法: (1)Jquery.extend(object)    -为Jquery类本身添加新的方法;代码如下: $.extend({ add:function(a,b) ...

  9. zTree -- jQuery 树插件 使用方法与例子

    简介 zTree 是一个依靠 jQuery 实现的多功能 "树插件". 网址:http://www.ztree.me/v3/main.php#_zTreeInfo 上面的网址里有z ...

随机推荐

  1. AX Dynamics 去中文字符长度:中文字符当2个字符处理

    static void jw_testStrByteLen(Args _args){    str _str = "A你好";                  System.Te ...

  2. Django TemplateView

    主要功能是渲染模板,看官例: from django.views.generic.base import TemplateView from articles.models import Articl ...

  3. C++设计模式-AbstractFactory抽象工厂模式

    AbstractFactory 要创建一组相关或者相互依赖的对象 作用:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类. UML结构图: 抽象基类: 1)AbstractProdu ...

  4. Android软件更新安装。

    app的开发有一个问题是避免不了的,那就是软件的升级维护. 这里我在查过一些资料和写了一个升级帮助类.使用很方便.直接导入就可以了. ( VersionBean.class为更新地址返回的数据对象,我 ...

  5. 使用CodeSmith快速生成映射文件和映射类

    一 CodeSmith简介 本文以表自动生成NHibernate的映射文件和映射类的实例来说明一下本软件的使用方法. CodeSmith是一种基于模板的代码生成工具,其使用类似于ASP.NET的语法来 ...

  6. modelsim(1) - 安装和使用 心得

    最近一段时间使用modelsim, 一,安装 使用的时候,出现license验证不对. 由于经常换虚拟机,要注意首先MAC地址是否换了,如果换了,license要重新做! 其次/etc/hosts的I ...

  7. Java系列笔记(1) - Java 类加载与初始化

    目录 类加载器 动态加载 链接 初始化 示例 类加载器 在了解Java的机制之前,需要先了解类在JVM(Java虚拟机)中是如何加载的,这对后面理解java其它机制将有重要作用. 每个类编译后产生一个 ...

  8. 在IIS6上部署MVC站点,Nhiernate数据库底层

    服务器环境要求: Windows 2003 server + IIS6.0 1.必须安装.net framework 4.0, MVC 2.最好能安装.net framework 的sp1, 我们服务 ...

  9. [cocos2d-js]cc.RenderTexture几种用法(数字图片、刮刮乐效果)

    [转]http://blog.csdn.net/realcrazysun1/article/details/42393629 本文基于cocos2d-js 3.0版本引擎开发 RenderTextur ...

  10. Variant OLE automation

    The Variant data type is the data type for all variables. can contain any kind of data except fixed- ...