JQuery插件开发 - 模板
2014-04-11 21:31
387 查看
(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插件开发模板
- jQuery插件开发模式
- jquery插件开发及 jquery自定义函数
- jQuery插件开发模式
- jQuery插件的开发
- 基于MVC4+EasyUI的Web开发框架经验总结(1)-利用jQuery Tags Input 插件显示选择记录
- jQuery插件开发
- jQuery插件开发的两种方法及$.fn.extend的详解(转)
- JQuery模板插件jquery.tmpl-动态ajax扩展
- jQuery插件的开发
- [置顶] 如何自己开发一款js或者jquery插件
- jQuery插件开发全解析
- jquery开发插件
- jquery插件开发注意事项小结
- JQuery插件开发,远程验证插件
- jQuery插件开发全解析(转)
- jQuery插件---jTemplates(模板
- JQuery插件开发学习
- jQuery插件开发