Cómo extender la biblioteca jQuery

Quiero extender un aspecto particular de jQuery UI: https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.18/jquery-ui.js

Busque en el código fuente de easeInElastic para ver el siguiente fragmento:

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

Necesito modificar ligeramente el código, pero no quiero duplicar toda la biblioteca. ¿Cómo puedo incluir un fragmento modificado en un archivo .js separado para que sobrescriba el original?

Edit:

De todos los métodos sugeridos, este es el único que funcionó:

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

});

preguntado el 22 de mayo de 12 a las 21:05

3 Respuestas

Sobrescriba ese método en particular con el suyo propio.

$.easing.easeInElastic = function(...

Siempre que su archivo .js adicional con ese código se coloque después de jqueryui.js, lo sobrescribirá.

contestado el 22 de mayo de 12 a las 21:05

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

O usar $.extend();

contestado el 23 de mayo de 12 a las 13:05

La documentación de jQuery tiene una página sobre complementos/extensiones:

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

Básicamente, se trata de ampliar $.fn.

contestado el 22 de mayo de 12 a las 21:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.