码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2019-08-01 16:03:33      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:defaults   make   efault   管理系统   作用域   支持   ext   html   this   

  扩展与插件

  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扩展与插件--附源码分析

标签:defaults   make   efault   管理系统   作用域   支持   ext   html   this   

原文地址:https://www.cnblogs.com/QianD/p/11282982.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!