2012-08-14 14 views
14

he cargado en jQuery tránsito, y se aseguró de que lo hice después de cargar jQuery, pero sigo teniendo este error:jQuery Tránsito: Objeto no tiene ningún método 'setFromString'

He mirado en el panel de recursos en Chrome, y jQuery transit se está cargando después de jQuery. También se ha cargado correctamente y aparece sin problemas.

También he probado en la consola, probando los ejemplos en el sitio web. Todos devuelven el mismo error.

aquí es mi código:

$("#current-employers a.industry-company-link").click(function (e) 
    { 
     e.preventDefault(); 
     var url = $(this).attr("href"); 
     var company_container = $("#current-company-profile"); 
     company_container.load(url); 
     company_container.transition({ 
      y: ($(this).offset().top - company_container.offset().top) 
     }); 
     console.log("container offset: " + company_container.offset().top + "\nURL offset: " + $(this).offset().top); 
    }); 

Y los guiones que traen:

<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery/1.8.0/jquery-1.8.0.min.js"></script> 

     <script src="http://cdnjs.cloudflare.com/ajax/libs/jquery.transit/0.1.3/jquery.transit.min.js"></script> 

Gracias por cualquier ayuda.

Respuesta

9

Bueno, resulta que es culpa de jQuery en este caso. jQuery 1.8 fue el culpable aquí. Cargando en 1.7.2 solucionó el problema. Informaré de este error al equipo de tránsito y jQuery.

+0

Gracias - mismo problema. – potench

+0

Ver el problema de github y relaciones públicas: https://github.com/rstacruz/jquery.transit/issues/72 https://github.com/rstacruz/jquery.transit/pull/77 – iX3

9

ACTUALIZACIÓN (13 de abril de 2013): Estaba leyendo el código fuente de Transit y parece que el Sr. Cruz ha actualizado el código para trabajar eficazmente con jQuery 1.8+. Si alguien lo ha probado, ¿podría confirmar que funciona? Gracias.


Esto está relacionado con el gancho css que usan jQuery y Transit. En la versión 1.7, jQuery no tenía un gancho css para las transformaciones. Así que Transit implementó un gancho para nosotros. Sin embargo, jQuery se actualizó y ahora ofrece css hooks para transformaciones. Estos ahora entran en conflicto entre ellos. Sin embargo, no es un error ya que jQuery funciona bien y, por lo tanto, no es necesario informarlo a jQuery.

Sus opciones son utilizar una versión 1.7 de jQuery y esperar hasta que se actualice Transit o editar el código de tránsito, que solo demora alrededor de un minuto.

Para editar, obtenga la versión de desarrollo de Transit desde el sitio oficial. Luego vaya a la línea 603 donde dice $ .cssHooks [prop]. Retire el método y colocar este método existe en su lugar:

$.cssHooks[prop] = { 
    get: function(elem) { 
    var t = $(elem).css('transform'); 

    if (!t || t === "none") { 
     t = new Transform(); 
    } 
    return t.get(prop); 
    }, 

    set: function(elem, value) { 
    var t = $(elem).css('transform'); 

    if (!t || t === "none") { 
     t = new Transform(); 
    } 

    t.setFromString(prop, value); 

    $(elem).css({ transform: t }); 
    } 
}; 

Usted puede minify el código en uno de los cientos de compresores disponibles, tales como http://jscompress.com/

+0

Esta es una respuesta asombrosamente genial. ¡Gracias! – Nate

+0

Esto ayudó a solucionar un problema que estaba teniendo con el mismo error que el OP. Gracias, Jonathan Tonge. Gran respuesta. – motoxer4533

+0

¡Su bienvenida estoy feliz de ayudar! –

Cuestiones relacionadas