jQuery插件扩展
**JQuery实际上就是一个封装操作DOM的对象。
JQuery插件实际上就是扩展JQuery这个对象(实例或者本身),增加用户自己的方法。**
1. 扩展JQuery本身
JQuery提供.extend()方法来对自身进行扩展。
$.extend( { say : function() { return "roddy"; } } ); // 使用 console.log( $.say() ); // 输出: // "roddy" 对JQuery自身扩展一个.say()方法。
2. 扩展JQuery实例
JQuery提供.fn.extend()方法来扩展JQuery实例对象
$.fn.extend( { changeColor : function() { $( this ).style.color = "red"; } } ); // 使用 $( "span" ).changeColor();
3. 扩展写法
( function( $ ) { // 插件默认配置 var defaultOptions = { property1 : "value1", property2 : "value2", ... }; // 插件构造函数 function userPlug( element, options ) { // jQuery实例对象 this.$ele = $( element ); // 合并用户配置和默认配置 this.options = $.extend( defatuleOptions, options, true ); // 插件初始化 this.init( this ); } // 插件原型 userPlug.prototype = { // 插件初始化函数 init : function( self ) { // 插件的主要实现代码 // 可以通过self.options进行配置或者修改 // 然后给self.$ele绑定事件处理函数等 } } // 绑定插件 $.fn.userplug = function( options ) { return this.each( function() { if( !$.data( this, 'userplug' ) ) { $.data( this, 'userplug', new userPlug( this, options ) ); } } ); } } )( window.jQuery );
4. 使用插件
<script src="//cdn.bootcss.com/jquery/1.8.3/jquery.min.js"></script> <script src="userPlug.js"></script> <script> $( "div" ).userplug( [options] ); </script>
相关推荐
84483065 2020-09-11
85477104 2020-08-15
83510998 2020-08-08
tztzyzyz 2020-07-05
delmarks 2020-06-28
89510194 2020-06-27
牵手白首 2020-06-14
EdwardSiCong 2020-11-23
85477104 2020-11-17
hhanbj 2020-11-17
81427005 2020-11-11
seoppt 2020-09-13
honeyth 2020-09-13
WRITEFORSHARE 2020-09-13
momode 2020-09-11
82550495 2020-08-03
tthappyer 2020-08-03
84901334 2020-07-28