jQuery技术

jquery 插件编写教程

字号+ 作者:H5之家 来源:H5之家 2018-02-10 16:00 我要评论( )

编写jquery插件其实非常简单,代码结构也比较固定,只需要注意闭包和$.extends的使用即可。下面以一个非常简单的higher插件来讲解jquery插件的编写过程。higher

编写jquery插件其实非常简单,代码结构也比较固定,只需要注意闭包和$.extends的使用即可。

下面以一个非常简单的higher插件来讲解jquery插件的编写过程。

higher插件作用是:当鼠标移到元素上时,高度变高,移走之后恢复。


首先,我们需要一个闭包来封装代码,避免污染window:

(function($) { })(jQuery);

然后 我们需要把自己的插件添加到jquery的原型,即$.fn上,直接使用$.fn.extend方法即可:

(function($) { $.fn.extend({ pluginName: function() { } }) })(jQuery);

当然,如果你不想用extend,直接添加 $.fn.pluginName来添加也行。

接下来就是一般插件都需要做的,提供对多个元素的支持。因为jquery选择器很可能会选择多个元素,我们需要提供对多个元素的支持,这里就需要用到 this.each方法来遍历选中的元素:

(function($) { $.fn.extend({ pluginName: function() { return this.each(function() { // here is your code }); } }) })(jQuery);

至此,基本结构已经完成,下面就是如何实现插件的逻辑。

在实现上要注意利用闭包隐藏私有方法,然后注意一般如何使用options和defaults。这里,我们执行高度计算的函数是一个私有函数higher,整个插件代码如下:

(function($) { // 私有方法放在这里 var higher = function (h, percent) { return h * (100+percent) / 100; } // 拓展jquery 原型 $.fn.extend({ higher: function(options) { var defaults = { // 默认设置 percent: 20 }; var settings = $.extend(defaults, options); return this.each(function() { //遍历dom var $this = $(this); var old_ = $this.height(); var new_ = higher(old_, settings.percent) $this.on("mouseover", function() { $this.height(new_); }); $this.on("mouseout", function() { $this.height(old_); }); }); } }); })(jQuery)

最后这样使用插件:

$('xxx').higher(); $('xxx').higher({percent:50});

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • Datatables是一款jquery表格插件

    Datatables是一款jquery表格插件

    2018-02-11 08:02

  • 技术不是万能的,没有技术是万万不能的。

    技术不是万能的,没有技术是万万不能的。

    2018-02-10 14:03

  • jQuery实现页面淡入淡出

    jQuery实现页面淡入淡出

    2018-02-10 14:01

  • 55个最新jQuery幻灯

    55个最新jQuery幻灯

    2018-02-10 10:08

网友点评