我最喜欢的jQuery插件模板

  我使用jQuery已经有相当长的时间了,并且我会常常为它写一些插件(plugin)。我尝试过用不同的方式去写,现在这个模板是我最喜欢的:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

;(function($) {

  // multiple plugins can go here

  (function(pluginName) {

    var defaults = {

      color: ‘black‘,

      testFor: function(div) {

        return true;

      }

    };

    $.fn[pluginName] = function(options) {

      options = $.extend(true, {}, defaults, options);

            

      return this.each(function() {

        var elem = this,

          $elem = $(elem);

        // heres the guts of the plugin

          if (options.testFor(elem)) {

            $elem.css({

              borderWidth: 1,

              borderStyle: ‘solid‘,

              borderColor: options.color

            });

          }

      });

    };

    $.fn[pluginName].defaults = defaults; 

  })(‘borderize‘);

})(jQuery);

//下面是用法

$(‘div‘).borderize();

$(‘div‘).borderize({color: ‘red‘});

  以下是我喜欢这种模板的原因

  1. 你仍然可以访问里面的默认选项,即便它被重写了(简单地通过父属性的访问)

  2. 通过修改pluginName即可更改插件的名字。(这种方式对代码压缩也非常有利)

  第#1点非常强大,比如说我们希望复写这个方法,但是仍然希望保留原来的方法,我们可以看下面的例子:


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

$(‘.borderize‘).borderize({

    testFor: function(elem) {

        var $elem = $(elem);

        if (elem.is(‘.inactive‘)) {

            return false;

        } else {

            // calling "parent" function

            return $.fn.borderize.defaults.testFor.apply(this, arguments);

        }

    }

});

We can even do this with regular properties like this

var someVarThatMayBeSet = false;

/* code ... */

$(‘.borderize‘).borderize({

    color: someVarThatMayBeSet ? ‘red‘ : $.fn.borderize.defaults.color

});

  你有更好的模板吗?欢迎回复。

  原文 kolodny.github.io

时间: 2024-10-29 03:44:06

我最喜欢的jQuery插件模板的相关文章

过去几个月出炉的30款最喜欢的 jQuery 插件

在这篇文章中,我们收集了一些在过去的几个月里最喜欢的 jQuery 插件.为了使您更容易搜索到自己喜欢的 jQuery 插件,我们已经对插件进行了分类: 页面布局插件,图片和视频插件,滑块和画廊,排版插件等等. 您可能感兴趣的相关文章 Web 开发中很实用的10个效果[源码下载] 精心挑选的优秀jQuery Ajax分页插件和教程 12个让人惊叹的的创意的 404 错误页面设计 让网站动起来!12款优秀的 jQuery 动画插件 十分惊艳的8个 HTML5 & JavaScript 特效 jQu

jQuery 插件模板

1.为每一个DOM对象创建一个插件对象 模板定义: 1 (function($) { 2 3 $.pluginName = function(element, options) { 4 5 var defaults = { 6 foo: 'bar', 7 onFoo: function() {} 8 } 9 10 var plugin = this; 11 12 plugin.settings = {} 13 14 var $element = $(element), 15 element =

jQuery插件模板

制作JQuery插件的基本框架演示:http://www.huiyi8.com/chajian/ (function($){    //The jQuery.aj namespare will automatically be created if it doesn't exist    $.widget("aj.filterable",{        //These options will be used as defaults        options: {classNam

简记 jQuery 插件模板

1 /** 2 * @lisence jquery plugin demo v1.0.0 3 * 4 * author: Jeremy Yu 5 * 6 * description: 7 * this is a jquery plugin Template 8 * see the end of this document to learn how to use the jquery plugin 9 */ 10 ; 11 (function($, window, document, undefi

jQuery插件编写及链式编程模型小结

JQuery极大的提高了我们编写JavaScript的效率,让我们可以愉快的编写代码,做出各种特效.大多数情况下,我们都是使用别人开发的JQuery插件,今天我们就来看看如何把我们常用的功能做出JQuery插件,然后像使用jQuery那样来操作DOM.  一.jQuery插件开发快速上手 1.jQuery插件模板 关于jQuery插件的编写,我们可以通过为jQuery.fn增加一个新的函数来编写jQuery插件.属性的名字就是你的插件的名字,其模板如下: (function($){ $.fn.m

jQuery插件编写及链式编程模型

jQuery插件编写及链式编程模型小结 JQuery极大的提高了我们编写JavaScript的效率,让我们可以愉快的编写代码,做出各种特效.大多数情况下,我们都是使用别人开发的JQuery插件,今天我们就来看看如何把我们常用的功能做出JQuery插件,然后像使用jQuery那样来操作DOM.  一.jQuery插件开发快速上手 1.jQuery插件模板 关于jQuery插件的编写,我们可以通过为jQuery.fn增加一个新的函数来编写jQuery插件.属性的名字就是你的插件的名字,其模板如下:

出位的template.js 基于jquery的模板渲染插件,简单、好用

找了好几款基于jquery的模板渲染插件,无一感觉很难用(教程较少.绑定不统一),也可能我智商问题,比如jquery template.js .jtemplate.js. 然后在github上找到这一款,和我在公司之前用的差不多(apicloud云端开发app,致敬[百小僧]大神封装的HUI,简化了在公司很多工作), 这款模板渲染和HUI的很相似,也比较简单  基于jquery的模板渲染插件. 附上github https://github.com/yanhaijing/template.js

2014年七月最佳jQuery插件荟萃

本月的jQuery插件荟萃我们将介绍几款非常不错的jQuery插件,涵盖了表单,幻灯,页面设计等等方面,相信大家肯定会喜欢! Select or Die 一款帮助开发者美化并且强化选择框的jQuery插件 jPList 可 以非常灵活帮助开发人员生成可过滤,分页和排序的HTML结构.支持数据源:PHP+mysql,ASP.net +SQL,PHP+SQLite.可以和知名的javascript模板,例如,handlebars,Mustache等等配合工作.支持所有的主流浏 览器.非商业项目,个人

使用 jQuery UI 和 jQuery 插件构建更好的 Web 应用程序

简介: 对于那些使用 JavaScript 和 jQuery 库从桌面应用程序转向 Web 应用程序的开发人员来说,他们还不习惯去考虑应用程序基本的外观,因为这些以前都是由操作系统来处理的.了解 jQuery UI,一个基于 jQuery 的 UI 工具箱,使创建漂亮的界面更为容易.本文同时也介绍了一些 jQuery 插件,可以加速 Web 开发并有助于创建我们所熟悉的,且流畅.直观.灵活的界面. 简介 如果您是一个传统桌面应用程序开发人员,并且正在转向开发 Web 应用程序,在学习 HTML