推荐一款jQuery插件模板

 更新时间:2015年01月09日 09:40:08   投稿:hebedich  
这篇文章主要给大家推荐一款jQuery插件模板,这是本人最喜欢的一款了,原因很简单,使用方便,可选择性也比较多。有需要的小伙伴参考下吧

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

复制代码 代码如下:

;(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点非常强大,比如说我们希望复写这个方法,但是仍然希望保留原来的方法,我们可以看下面的例子:

复制代码 代码如下:

$('.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
});

小伙伴们,你们也会喜欢上这款jQuery插件模板的吧,他实在是太灵活了。

相关文章

  • 浅析jQuery对select操作小结(遍历option,操作option)

    浅析jQuery对select操作小结(遍历option,操作option)

    本篇文章是关于jQuery对select的操作进行了总结介绍,需要的朋友可以参考下
    2013-07-07
  • jQuery性能优化技巧分析

    jQuery性能优化技巧分析

    这篇文章主要介绍了jQuery性能优化技巧,较为详细的分析了jQuery的常见使用技巧,非常具有实用价值,需要的朋友可以参考下
    2015-02-02
  • jQuery.extend 函数详解

    jQuery.extend 函数详解

    Jquery的扩展方法extend是我们在写插件的过程中常用的方法,该方法有一些重载原型,在此,我们一起去了解了解
    2012-02-02
  • jQuery判断checkbox是否选中的小例子

    jQuery判断checkbox是否选中的小例子

    判断checkbox是否选中的方法有很多,不过都是大同小异,下面为大家介绍下使用jquery是如何做到的,下面有个不错的示例,感兴趣的朋友可以参考下
    2013-12-12
  • jquery 插件学习(四)

    jquery 插件学习(四)

    如果你明白了前面讲的使用jquery.fn对象属性的方法创建jquery对象的方法,那么使用extend()方法创建jquery对象就比较容易理解了。理解了吗,一定要仔细揣摩,仔细研究。我也是再慢慢的学习,慢慢的领悟
    2012-08-08
  • jQuery基本选择器选择元素使用介绍

    jQuery基本选择器选择元素使用介绍

    基本选择器:是jQuery中使用最频繁的选择器,它由元素Id、Class、元素名、多个选择符组成,通过基本选择器可以实现大多数页面元素的查找,感兴趣的朋友可以参考下哈
    2013-04-04
  • jQuery实现的简单歌词滚动功能示例

    jQuery实现的简单歌词滚动功能示例

    这篇文章主要介绍了jQuery实现的简单歌词滚动功能,结合实例形式分析了基于jQuery插件scroll.js实现滚动功能相关操作技巧,涉及jQuery结合时间函数动态操作页面元素相关实现方法,需要的朋友可以参考下
    2019-01-01
  • 简单实现jQuery弹窗效果

    简单实现jQuery弹窗效果

    这篇文章主要教大家简单实现jQuery弹窗效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10
  • jQuery实现根据类型自动显示和隐藏表单

    jQuery实现根据类型自动显示和隐藏表单

    这篇文章主要给大家分享了jQuery实现根据类型自动显示和隐藏表单的代码,非常的简单实用,仅仅10行代码,推荐给大家,希望能给大家一些提示。
    2015-03-03
  • 基于JQuery的密码强度验证代码

    基于JQuery的密码强度验证代码

    密码强度验证的方式有很多,今天给大家推荐一个通过JQuery实现的密码强度验证控件,只需要很少的代码便能实现。
    2010-03-03

最新评论