JQuery插件编写之封装对象

Jquery扩展插件有三大法宝,

1、封装对象方法 (本文详细介绍):对通过选择器获取的jQuery对象进行操作。
2、封装全局函数
3、选择器插件 

jQuery插件的机制
  jQuery插件的机制很简单,就是利用jQuery提供的jQuery.fn.extend()和jQuery.extend()方法,扩展jQuery的功能。
  jQuery.fn.extend()多用于扩展上面提到的3种类型中的第一种,jQuery.extend()用于扩展后两种插件。

废话不多说,自己编写的插件建议命名为jquery.xxxx.js

本文JQuery库使用的版本是1.10.2

jquery.code.js

 1 (function ($) { 
 2 $.fn.code = function (options) { 
 3 var defaultVal = {
 4     color:‘blue‘
 5 };
 6 var obj=$.extend(defaultVal,options);
 7 return this.each(function(){
 8     var selObject = $(this);
 9         selObject.css(‘color‘,obj.color);
10     });
11 }; 
12 })(jQuery);
  • $.fn.code 就是按照第一种 $.fn.extend 的方法进行封装对象方法。
  • 设置一个defaultVal的hash作为默认输入参数。
  • var obj = $.extend(defaultVal,options); 将用户输入参数options和默认参数defaultVal通过$.extend方法进行merge,比如说如果用户有给出color的值,则会override默认值blue。
  • 关键词return的作用就是返回each操作后的对象,以便用户接下去使用JQuery的链式操作,如本文的code().fadeOut()

 

code.html

 1 <!doctype html>
 2 <html>
 3 <head>
 4 <script src="/js/jquery.js" type="text/javascript"></script>
 5 <script src="/js/jquery.code.js" type="text/javascript"></script>
 6 <script>
 7 $(document).ready(function(){
 8     $(".mark").code({
 9         color:orange
10     }).fadeOut(‘slow‘);
11 });
12 </script>
13 </head>
14 <body>
15 <span class="mark">Hello World!</span>
16 <span class="mark">Hello University!</span>
17 </body>
18 </html>

发挥想象力之后,别忘记载入你自己写的js,其他的不解释。

 

JQuery插件编写之封装对象,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。