我想扩展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;
}
});
答案 0 :(得分:3)
用您自己的方法覆盖该特定方法。
$.easing.easeInElastic = function(...
只要您的附加.js文件包含该代码放在jqueryui.js之后,它就会覆盖它。
答案 1 :(得分:1)
答案 2 :(得分:1)
$.fn.easeInElastic = function(x,t,b,c,d){...}
或使用$.extend();