如何扩展jQuery库

时间:2012-05-22 20:46:38

标签: jquery

我想扩展jQuery UI的一个特定方面:https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.18/jquery-ui.js

easeInElastic的源代码中搜索以查看以下代码段:

easeInElastic: function (x, t, b, c, d) {
    var s=1.70158;var p=0;var a=c; alert('');
    if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*9.3;
    if (a < Math.abs(c)) { a=c; var s=p/4; }
    else var s = p/(2*Math.PI) * Math.asin (c/a);
    return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
},

我需要稍微修改代码,但我不想复制整个库。 如何在单独的.js文件中包含修改后的代码段,以便覆盖原始文件?

修改

在所有建议的方法中,这是唯一有效的方法:

$.extend($.easing,
{
    easeInElastic: function (x, t, b, c, d) {
           alert('');
        var s=1.70158;var p=0;var a=c;
        if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
        if (a < Math.abs(c)) { a=c; var s=p/4; }
        else var s = p/(2*Math.PI) * Math.asin (c/a);
        return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
    }

});

3 个答案:

答案 0 :(得分:3)

用您自己的方法覆盖该特定方法。

$.easing.easeInElastic = function(...

只要您的附加.js文件包含该代码放在jqueryui.js之后,它就会覆盖它。

答案 1 :(得分:1)

jQuery文档有一个关于插件/扩展的页面:

http://docs.jquery.com/Plugins/Authoring

基本上,这是扩展$.fn

的问题

答案 2 :(得分:1)

$.fn.easeInElastic = function(x,t,b,c,d){...}

或使用$.extend();

相关问题