(function($) {
$.fn.PluginName = function(options) {
// 创建一个默认设置对象
var defaults = {
key : "DefaultValue"
}
//使用extend方法从options和defaults对象中构造出一个新的设置对象
var options = $.extend(defaults, options);
/****************
执行代码
****************/
};
})(jQuery);
 //调用自定义的JQuery插件
$(".className").PluginName({key:"NewValue"});

var options = $.extend(defaults, options);
/*↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/
Object.extend = function(destination, source) { // 一个静态方法表示继承, 目标对象将拥有源对象的所有属性和方法
  for (var property in source) {
  destination[property] = source[property];// 利用动态语言的特性, 通过赋值动态添加属性与方法
  }
  return destination;// 返回扩展后的对象
}

 (function($) {
var methods = {
init : function(options) {
// 创建一个默认设置对象
var defaults = {
key : "DefaultValue"
}
//使用extend方法从options和defaults对象中构造出一个新的设置对象
var options = $.extend(defaults, options);
/***************
执行代码
***************/ }
};
$.fn.PluginName = function(options) {
//获取传入的第一个实参副本(arguments对象是收到的实参副本,就像数组,但却又不是数组)
var method = arguments[0];
//获取我们的方法
if (methods[method]) {
//如果方法存在,存储起来以便使用
method = methods[method];
//如果方法不存在,检验对象是否为一个对象(JSON对象)或者method方法没有被传入
arguments = Array.prototype.slice.call(arguments, 1);
} else if ( typeof (method) == 'object' || !method) {
//如果我们传入的是一个对象参数,或者根本没有参数,init方法会被调用
method = methods.init;
} else {
//如果方法不存在或者参数没传入,则报出错误。需要调用的方法没有被正确调用
$.error('Method ' + method + ' does not exist on jQuery.ChangeTabs');
return this;
}
//调用我们选中的方法
return method.apply(this, arguments);
};
})(jQuery);
$('.className').pluginName('init', 'argument'); // 调用:把 "argument 1" 和 "argument 2" 传入 "init"

JQuery插件开发 - 模板的更多相关文章

  1. jquery插件开发模板

    (function($){ $.fn.extend({ //将可选择的变量传递给方法 pluginname: function(options) { //设置默认值并用逗号隔开 var default ...

  2. jQuery 插件开发解析

    那么首先我们来简单的看一下最正统的 jQuery 插件定义方式: (function ($) { $.fn.插件名 = function (settings) { //默认参数 var default ...

  3. jQuery 插件开发指南

    jQuery凭借其简洁的API,对DOM强大的操控性,易扩展性越来越受到web开发人员的喜爱,经常有人询问一些技巧,因此干脆写这么一篇文章给各位jQuery爱好者,算是抛砖引玉吧. 那么首先我们来简单 ...

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

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

  5. JavaScript学习总结(四)——jQuery插件开发与发布

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

  6. jQuery插件开发精品教程,让你的jQuery提升一个台阶

    要说jQuery 最成功的地方,我认为是它的可扩展性吸引了众多开发者为其开发插件,从而建立起了一个生态系统.这好比大公司们争相做平台一样,得平台者得天下.苹果,微软,谷歌等巨头,都有各自的平台及生态圈 ...

  7. jquery插件开发

    jQuery是一个封装的很好的类,比如我们用语句$("#btn1") 会生成一个 jQuery类的实例. 一.jQuery插件开发注意要点 1.使用闭包,避免全局依赖,避免第三方破 ...

  8. jQuery插件开发(溢出滚动)

    声明:此程序仅针对手机端,简单的封装一个插件,意在记载插件的开发过程,如有错误及不足之处,还望即时指出. 移动开发的时候,我们经常会遇到滑动事件,众所周知手机端滑动主要依靠touch事件.最近接连遇到 ...

  9. 从零开始学jQuery插件开发

    http://www.w3cfuns.com/notes/19462/ec18ab496b4c992c437977575b12736c.html jQuery 最成功的地方,是它的可扩展性,通过吸引了 ...

随机推荐

  1. [Buzz.Today]2013.08.06

    # 用简单方案解决80%的问题,再慢慢解决剩下20% [先完成,后完美]美国工程院院士.Google Fellow辛格的哲学:先用个简单方案解决80%的问题,再慢慢解决剩下20%.许多优秀人才都败在这 ...

  2. web开发下的各种下载方法

    利用TransmitFile方法,解决Response.BinaryWrite下载超过400mb的文件时导致Aspnet_wp.exe进程回收而无法成功下载的问题. 代码如下: Response.Co ...

  3. 日本电商Rakuten:最凶猛的国际扩张者

    这是普及社(puji-she)第五篇关于电商开放平台的文章,今天关注日本的Rakuten,它是一家综合性的企业,核心业务包括电子商务.旅游.信用 及支付.金融证券.新闻门户等.本文关注Rakuten的 ...

  4. php 笔试面试 总结

    一次小小的笔试面试经历,虽然是一些简单的问题,但是自己在这儿总结一下,也查一些资料,得出一些较好的答案,也能帮助自己成长. 1.自己熟悉的http状态码及其意义 其实这个题答案随处可见.这儿也还是记录 ...

  5. codeforces 677C C. Vanya and Label(组合数学+快速幂)

    题目链接: C. Vanya and Label time limit per test 1 second memory limit per test 256 megabytes input stan ...

  6. date & dirname

    date 年:+%Y 月:+%m 日:+%d 时:+%H 或者 +%k 分:+%M 秒:+%S 周:+%w dirname 目录 获取目录的上级目录

  7. weimi 短信API post方式的简易代码。

    http://www.weimi.cc/example-csharp.html string mobile = "<enter your mobiles>", con ...

  8. U3D 飞机大战(MVC模式)解析--面向对象编程思想

    在自己研究U3D游戏的时候,看过一些人的简单的游戏开发视频,写的不错,只是个人是java web 开发的人,所以结合着MVC思想,对游戏开发进行了一番考虑. 如果能把游戏更加的思想化,分工化,开发便明 ...

  9. 【转】用java实例学习MVC模式

    .1 MVC模式 MVC是三个单词的缩写,这三个单词分别为:模型(Model).视图(View)和控制(Controller).MVC模式的目的就是实现Web系统的职能分工.下面以J2EE开发进行介绍 ...

  10. 收藏的js学习小例子

    1.js模拟java里的Map function Map(){ var obj = {} ; this.put = function(key , value){ obj[key] = value ; ...