2012-09-25 8 views
66

Al intentar mostrar un elemento div con jQuery, tengo este error:TypeError: p.easing [this.easing] no es una función

[23:50:35.971] TypeError: p.easing[this.easing] is not a function @ file:///D:/html5%20puzzle/jquery.js:2 

La función relevante es la siguiente:

function showWithAnimation(){     
    console.log('animation called'); 
    $('#popup').show(); 
    $("#popup").css({"top": "30%", "left": "30%"}) 
      .animate({top:(($(window).height()/2)-($('#popup') 
      .outerHeight()/2))-70}, 1000, 'easeOutBounce') 
      .show(); 
} 

La función es responsable de mostrar el div con una animación de rebote, sin embargo, se muestra el div pero sin efecto de rebote.

EDIT:

Estoy incluyendo bibliotecas de jQuery y jQueryUI de un CDN como esto (en orden):

<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js'></script> 
<script src='http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/jquery-ui.min.js'> 
</script> 
+0

favor mostrar div. – NoNameZ

Respuesta

90

Es necesario incluir jQueryUI para las opciones de aceleración ampliadas.

Creo que puede haber una opción para incluir solo la aceleración en la descarga, o al menos solo la biblioteca base más la aceleración.

+2

Estoy incluyendo este archivo desde un CDN: '' ¿Es esto? uno ? ¿O incluiré otro archivo? – Malloc

+0

@Malloc necesita incluir jquery y después de eso jquery-ui – NoNameZ

+1

Sí, lo hice, pero siempre tuve el mismo problema, eche un vistazo a mi edición :) – Malloc

9

El complemento de aceleración de Jquery renombró los nombres de sus funciones de efectos de la versión 1.2 en adelante. Si tiene algún javascript que depende de la aceleración y no está llamando al nombre correcto del efecto arrojará este error.

+2

Compruebe aquí para obtener una lista de nombres antiguos y nuevos equivalentes: http://www.jqueryrain.com/?HqpgDqbN –

8

Para aquellos que tienen una construcción jQuery UI personalizada (bower por ej.), Agregue el núcleo de efectos ubicado en ..\jquery-ui\ui\effect.js.

3

Recibí este error hoy al intentar iniciar un efecto de diapositiva en un div. Gracias a la respuesta de 'I Hate Lazy' anterior (que he votado a favor), fui en busca de una secuencia de comandos personalizada de jQuery UI, y de hecho puedes construir tu propio archivo directamente en el sitio web de jQuery ui http://jqueryui.com/download/. Todo lo que tiene que hacer es marcar los efectos que está buscando y luego descargarlos.

Estaba buscando el efecto de diapositiva. Así que primero deseleccioné todas las casillas de verificación, luego hice clic en la casilla de 'efecto de deslizamiento' y la página automáticamente verifica esos otros componentes necesarios para que el efecto de deslizamiento funcione. Muy simple.

easeOutBounce es un efecto de relajación, para lo cual tendrá que marcar la casilla 'Núcleo de efectos'.

3

Si está utilizando Bootstrap, también es posible que la jQuery de Bootstrap, si se incluye debajo de la etiqueta de script de jQuery, sobrescriba la etiqueta de script de jQuery con otra versión. Incluir el propio CDN de jQuery y eliminar la etiqueta de script jQuery que proporciona Bootstrap fue lo único que funcionó para mí.

5

Incluyendo esto funcionó para mí.

Incluya la línea que se menciona a continuación en la sección.

<script src='http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/jquery-ui.min.js'> 

Cuestiones relacionadas