1、添加jQuery对象方法
添加jQuery对象方法:jQuery.prototype.myMethod。

在jQuery源码中有一句:jQuery.fn = jQuery.prototype,也就是给jQuery的prototype对象取了个别名,

所以 jQuery.prototype.myMethod 等价于 jQuery.fn.myMethod 等价于 $.fn.myMethod。

添加全局函数需要用新方法扩展jQuery对象——$.fn:

$.fn.myMethod = function(){}  

调用:$('div').myMethod();

2、方法环境
this引用的是当前的jQuery对象。注意不是DOM对象。

$.fn.myMethod = function(){
this.hasClass(class_name);
}

这样定义置灰检查最先匹配的元素。要是有多个元素,应该用“隐式迭代”。

$.fn.myMethod = function(){
this.each(function(){
this.hasClass(class_name); // 报错
$(this).hasClass(class_name); //注意each方法内this引用的是一个DOM元素。
})
}

3、连缀

$.fn.myMethod = function(){
return this.each(function(){} // 返回jQuery对象
}

4、方法参数
4.1 简单参数

$.fn.myMethod = function(hash_obj){ // 参数通常是hash类型
return this.each(function(){}
}

4.2 默认参数

$.fn.myMethod = function(opts){ // 参数通常是hash类型
var defaults = {
zIndex:10
,opacity: 0.8
}
var options = $.extend(defaults, opts); // opts 会覆盖defaults的项,defaults的值改变
return this.each(function(){}
}

5、回调函数

$.fn.myMethod = function(opts){ // 参数通常是hash类型
var defaults = {
zIndex:10
,opacity: 0.8
,slice_offset: function(){
return { x:i, y:2*i }
}
}
var options = $.extend(defaults, opts); // opts 会覆盖defaults的项,defaults的值改变
return this.each(function(){}
}

jquery插件开发快速入门的更多相关文章

  1. jquery插件开发基础入门

    jquery插件开发基础入门 入门 编写一个jquery插件开始于给jquery.fn加入新的功能属性,此处添加的对象属性的名称就是你的插件名称 jQuery.fn,myPlugin = functi ...

  2. Jquery blokckUI 快速入门

    $("#btnSubmit").click(function() { $.blockUI({ message : $("#loginForm"), css : ...

  3. 【番外篇】ASP.NET MVC快速入门之免费jQuery控件库(MVC5+EF6)

    目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...

  4. jquery easy ui 1.3.4 快速入门(1)

    什么是easyui jQuery EasyUI是一组基于jQuery的UI插件集合,而jQuery EasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面.开发者不需要编写复杂 ...

  5. jQuery插件开发入门

    扩展jQuery插件和方法的作用是非常强大的,它可以节省大量开发时间.这篇文章将概述jQuery插件开发的基本知识,最佳做法和常见的陷阱. 入门 编写一个jQuery插件开始于给jQuery.fn加入 ...

  6. day 48 jQuery快速入门

    jQuery快速入门   jQuery jQuery介绍 1.jQuery是一个轻量级的.兼容多浏览器的JavaScript库. 2.jQuery使用户能够更方便地处理HTML Document.Ev ...

  7. SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=》提升)

     SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=>提升,5个Demo贯彻全篇,感兴趣的玩才是真的学) 官方demo:http://www.asp.net/si ...

  8. JavaScript学习笔记(四)——jQuery插件开发与发布

    jQuery插件就是以jQuery库为基础衍生出来的库,jQuery插件的好处是封装功能,提高了代码的复用性,加快了开发速度,现在网络上开源的jQuery插件非常多,随着版本的不停迭代越来越稳定好用, ...

  9. 【第三篇】ASP.NET MVC快速入门之安全策略(MVC5+EF6)

    目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...

随机推荐

  1. Spark的操作列表

    Action 操作1. collect() ,返回值是一个数组,返回dataframe集合所有的行2. collectAsList() 返回值是一个java类型的数组,返回dataframe集合所有的 ...

  2. ThinkPHP 汉字转成多种形式拼音

    模型: <?php namespace Admin\Model; use Think\Model; /** * 汉字转拼音 * @author huangguojin */ class ZHMo ...

  3. TensorFlow基础笔记(2) minist分类学习

    (1) 最简单的神经网络分类器 # encoding: UTF-8 import tensorflow as tf from tensorflow.examples.tutorials.mnist i ...

  4. imx6 MfgTool分析

    解析freescale的MfgTool中的脚本,了解imx6, android系统的分区情况. 配置文件 1. cfg.ini [profiles] chip = MX6DL Linux Update ...

  5. Android之自己定义checkbox样式

    大部分情况下,我们在UI中并不採用android自带的checkbox复选框样式,这时候就须要我们自己定义自己的checkbox. 首先找两张checkbox背景图片.比方下图样子的: 然后在draw ...

  6. virtualbox pxe启动

    在设置——系统中更改启动顺序,优先使用网路启动,如果你的网络环境支持PXE启动,就可以使用网络安装了. 转自: http://blog.csdn.net/huanghuibai/article/det ...

  7. Socket的三个关联函数

    /*lrs_save_param将静态或接收到的缓冲区保存到参数中*/lrs_save_param (char *s_desc, char *buf_desc, char *param_name, i ...

  8. 说说M451例程讲解之串口

    /**************************************************************************//** * @file main.c * @ve ...

  9. 动态规划——最长公共上升子序列LCIS

    问题 给定两个序列A和B,序列的子序列是指按照索引逐渐增加的顺序,从原序列中取出若干个数形成的一个子集,若子序列的数值大小是逐渐递增的则为上升子序列,若A和B取出的两个子序列A1和B1是相同的,则A1 ...

  10. Swift 实现单例模式Singleton pattern的三种方法

    转自:点击打开链接 From my short experience with Swift there are three approaches to implement the Singleton ...