JQuery插件开发 - 模板
 (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插件开发 - 模板的更多相关文章
- jquery插件开发模板
		
(function($){ $.fn.extend({ //将可选择的变量传递给方法 pluginname: function(options) { //设置默认值并用逗号隔开 var default ...
 - jQuery 插件开发解析
		
那么首先我们来简单的看一下最正统的 jQuery 插件定义方式: (function ($) { $.fn.插件名 = function (settings) { //默认参数 var default ...
 - jQuery 插件开发指南
		
jQuery凭借其简洁的API,对DOM强大的操控性,易扩展性越来越受到web开发人员的喜爱,经常有人询问一些技巧,因此干脆写这么一篇文章给各位jQuery爱好者,算是抛砖引玉吧. 那么首先我们来简单 ...
 - JavaScript学习笔记(四)——jQuery插件开发与发布
		
jQuery插件就是以jQuery库为基础衍生出来的库,jQuery插件的好处是封装功能,提高了代码的复用性,加快了开发速度,现在网络上开源的jQuery插件非常多,随着版本的不停迭代越来越稳定好用, ...
 - JavaScript学习总结(四)——jQuery插件开发与发布
		
jQuery插件就是以jQuery库为基础衍生出来的库,jQuery插件的好处是封装功能,提高了代码的复用性,加快了开发速度,现在网络上开源的jQuery插件非常多,随着版本的不停迭代越来越稳定好用, ...
 - jQuery插件开发精品教程,让你的jQuery提升一个台阶
		
要说jQuery 最成功的地方,我认为是它的可扩展性吸引了众多开发者为其开发插件,从而建立起了一个生态系统.这好比大公司们争相做平台一样,得平台者得天下.苹果,微软,谷歌等巨头,都有各自的平台及生态圈 ...
 - jquery插件开发
		
jQuery是一个封装的很好的类,比如我们用语句$("#btn1") 会生成一个 jQuery类的实例. 一.jQuery插件开发注意要点 1.使用闭包,避免全局依赖,避免第三方破 ...
 - jQuery插件开发(溢出滚动)
		
声明:此程序仅针对手机端,简单的封装一个插件,意在记载插件的开发过程,如有错误及不足之处,还望即时指出. 移动开发的时候,我们经常会遇到滑动事件,众所周知手机端滑动主要依靠touch事件.最近接连遇到 ...
 - 从零开始学jQuery插件开发
		
http://www.w3cfuns.com/notes/19462/ec18ab496b4c992c437977575b12736c.html jQuery 最成功的地方,是它的可扩展性,通过吸引了 ...
 
随机推荐
- Linux中命令链接操作符的十个最佳实例
			
转载: http://www.linuxeden.com/html/softuse/20140112/147406.html http://www.tecmint.com/chaining-opera ...
 - iOS开发系列--让你的应用“动”起来
			
--iOS核心动画 概览 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥iOS动画全貌.在这里你可以看到iOS中如何使用图层精简非交互式绘图,如何通过核心动画创建 ...
 - [ASP.NET]SQL Server 连接字符串和身份验证
			
SQL Server .NET Data Provider 连接字符串包含一个由一些属性名/值对组成的集合.每一个属性/值对都由分号隔开. PropertyName1=Value1; Property ...
 - .net重启iis线程池和iis站点程序代码分享
			
重启站点: /// <summary> /// 根据名字重启站点.(没重启线程池) /// </summary> /// <param name="sitena ...
 - Android小项目之十二 设置中心的界面
			
------- 源自梦想.永远是你IT事业的好友.只是勇敢地说出我学到! ---------- 按惯例,写在前面的:可能在学习Android的过程中,大家会和我一样,学习过大量的基础知识,很多的知识点 ...
 - Java Script基础(一)
			
一.为什么学习JavaScript 学习JavaScript主要有以下两点原因. 1.客户端表单验证. 2.实现页面交互(网页特效) 二.什么是JavaScript JavaScript是一种描述语言 ...
 - 转载:Character data is represented incorrectly when the code page of the client computer differs from the code page of the database in SQL Server 2005
			
https://support.microsoft.com/en-us/kb/904803 Character data is represented incorrectly when the cod ...
 - html+css--水平居中总结-不定宽块状元素方法(三)
			
来源:http://www.imooc.com/code/6365 除了前两节讲到的插入table标签,以及改变元素的display类型,可以使不定宽块状元素水平居中之外,本节介绍第3种实现这种效果的 ...
 - Part 92   Significance of Thread Join and Thread IsAlive functions
			
Thread.Join & Thread.IsAlive functions Join blocks the current thread and makes it wait until th ...
 - MySQL之不能保存表格问题
			
有时候我们制作表格不能保存时出现这样的提示: 我们打开工具: 把“阻止保存要求重新创建表的更改”选项的勾给去了: