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