jQuery扩展与插件--附源码分析

Posted qiand

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jQuery扩展与插件--附源码分析相关的知识,希望对你有一定的参考价值。

  扩展与插件

  1. 编写JQuery插件

  

<script>
     
$.extend(object)      //为JQuery 添加一个静态方法。
$.fn.extend(object)   //为JQuery实例添加一个方法。
 
 
    jQuery.extend(
          min: function(a, b)  return a < b ? a : b; ,
          max: function(a, b)  return a > b ? a : b; 
        );
    console.log($.min(3,4));
 
//-----------------------------------------------------------------------
 
$.fn.extend(
    "print":function()
        for (var i=0;i<this.length;i++)
            console.log($(this)[i].innerhtml)
        
 
    
);
 
$("p").print();
</script>

 

  2. 定义作用域

  定义一个JQuery插件,首先要把这个插件的代码放在一个不受外界干扰的地方。如果用专业些的话来说就是要为这个插件定义私有作用域。外部的代码不能直接访问插件内部的代码。插件内部的代码不污染全局变量。在一定的作用上解耦了插件与运行环境的依赖。

 

(function(a,b)return a+b)(3,5)
 
       (function ($)  )(jQuery);
//相当于
        var fn = function ($)  ;
        fn(jQuery);

 

  3. 默认参数

  定义了jQuery插件之后,如果希望某些参数具有默认值,那么可以以这种方式来指定。

 

/step01 定义JQuery的作用域
(function ($) 
    //step03-a 插件的默认值属性
    var defaults = 
        prevId: prevBtn,
        prevText: Previous,
        nextId: nextBtn,
        nextText: Next
        //……
    ;
    //step06-a 在插件里定义方法
    var showLink = function (obj) 
        $(obj).append(function ()  return "(" + $(obj).attr("href") + ")" );
    
 
    //step02 插件的扩展方法名称
    $.fn.easySlider = function (options) 
        //step03-b 合并用户自定义属性,默认属性
        var options = $.extend(defaults, options);
        //step4 支持JQuery选择器
        //step5 支持链式调用
        return this.each(function () 
            //step06-b 在插件里定义方法
            showLink(this);
        );
    
)(jQuery);

希望上边的基础知识能够帮到大家,在这里同样也为大家提供一些jQuery的资料,属于练手

Jquery走马灯效果
http://www.makeru.com.cn/live/1396_721.html?s=45051
jquery中的插件机制
http://www.makeru.com.cn/live/1396_473.html?s=45051
jQuery插件扩展,插件疯转原理
http://www.makeru.com.cn/live/1396_473.html?s=45051

jQuery搭建crm管理系统
http://www.makeru.com.cn/live/1396_1067.html?s=45051

 


jQuery系列(第一讲)3D轮播切换特效
http://www.makeru.com.cn/live/1396_943.html?s=45051
jQuery系列(第二讲)js实现随机PK小游戏
http://www.makeru.com.cn/live/1396_955.html?s=45051
jQuery系列(第三讲)百度换肤术
http://www.makeru.com.cn/live/1396_958.html?s=45051
jQuery系列(第四讲)JS实现轻便计算制作
http://www.makeru.com.cn/live/1396_959.html?s=45051

 

以上是关于jQuery扩展与插件--附源码分析的主要内容,如果未能解决你的问题,请参考以下文章

leaflet 结合 d3.js 实现 geojson 数据地形剖面分析(附源码下载)

Cesium专栏-空间分析之坡度分析(附源码下载)

Cesium专栏-空间分析之坡向分析(附源码下载)

kafka源码ReassignPartitionsCommand源码原理分析(附配套教学视频)

jquery1.7.2的源码分析

jQuery源码分析:源码结构与核心函数