0

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;
    }

});
4

3 に答える 3

3

その特定のメソッドを独自のメソッドで上書きします。

$.easing.easeInElastic = function(...

そのコードを含む追加の .js ファイルが jqueryui.js の後に配置されている限り、上書きされます。

于 2012-05-22T20:49:19.683 に答える
1

jQuery のドキュメントには、プラグイン/拡張機能に関するページがあります。

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

基本的に、それは拡張の問題です$.fn

于 2012-05-22T20:49:07.800 に答える
1
$.fn.easeInElastic = function(x,t,b,c,d){...}

または使用$.extend();

于 2012-05-22T20:51:40.443 に答える