Foros del Web » Programando para Internet » Javascript »

Error TypeError: $(...).animate is not a function

Estas en el tema de Error TypeError: $(...).animate is not a function en el foro de Javascript en Foros del Web. Hola, estoy creando un menú responsive de la pagina FalconMasters pero al intentar desplegar el menú móvil aparece el error TypeError: $(...).animate is not a ...
  #1 (permalink)  
Antiguo 13/03/2020, 17:03
 
Fecha de Ingreso: abril-2016
Mensajes: 32
Antigüedad: 4 años
Puntos: 0
Error TypeError: $(...).animate is not a function

Hola, estoy creando un menú responsive de la pagina FalconMasters pero al intentar desplegar el menú móvil aparece el error TypeError: $(...).animate is not a function en el archivo Javascript
El código Javascript es:

Código Javascript:
Ver original
  1. $(document).ready(main);
  2.  
  3. var contador = 1;
  4.  
  5. function main () {
  6.     $('.menu_bar').click(function(){
  7.         if (contador == 1) {
  8.       $('nav').animate({
  9.                 left: '0'
  10.             });
  11.             contador = 0;
  12.         } else {
  13.             contador = 1;
  14.             $('nav').animate({
  15.                 left: '-100%'
  16.             });
  17.         };
  18.     });
  19.  
  20.     // Mostramos y ocultamos submenus
  21.     $('.submenu').click(function(){
  22.         $(this).children('.children').slideToggle();
  23.     });
  24. };
  #2 (permalink)  
Antiguo 13/03/2020, 18:57
Avatar de Panino5001
Moderatroll
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.106
Antigüedad: 15 años, 10 meses
Puntos: 792
Respuesta: Error TypeError: $(...).animate is not a function

Puede haber varios problemas, pero a priori parece que no tienes definida la variable contador. Un ejemplo:
Código:
<script>
function test(){
	alert(contador);//undefined
}
test();
var contador=1;
</script>
Eso devuelve undefined, ya que la variable global es definida luego la invocación de la función.
En cambio esto funciona como se espera:
Código:
<script>
var contador=1;
function test(){
	alert(contador);//1
}
test();
</script>
Incluso esto funciona debidamente:
Código:
<script>
function test(){
	alert(contador);//1
}
var contador=1;
test();
</script>
Porque la variable se define antes de la invocación.

  #3 (permalink)  
Antiguo 13/03/2020, 20:08
 
Fecha de Ingreso: abril-2006
Mensajes: 379
Antigüedad: 14 años
Puntos: 80
Respuesta: Error TypeError: $(...).animate is not a function

Cita:
Iniciado por saulrayados Ver Mensaje
Hola, estoy creando un menú responsive de la pagina FalconMasters pero al intentar desplegar el menú móvil aparece el error TypeError: $(...).animate is not a function en el archivo Javascript
El código Javascript es:
El mismo error te lo dice,
TypeError: $(...).animate is not a function


por el simbolo de dolar y la funcion animate, dedusco que se trata de JQUERY, ten en cuenta que en algunas versiones no esta habilitado las funciones para animacion, pero si estas seguro que tu version de JQuery lo esta, en ese caso el error esta en que el elemento con TAG NAV no existe $('nav')

prueba poniendo un alert

Código Javascript:
Ver original
  1. $(document).ready(main);
  2.  
  3. var contador = 1;
  4.  
  5. function main () {
  6.     $('.menu_bar').click(function(){
  7.         if (contador == 1) {
  8. alert($('nav'));
  9.       $('nav').animate({
  10.                 left: '0'
  11.             });
  12.             contador = 0;
  13.         } else {
  14.             contador = 1;
  15. alert($('nav'));
  16.             $('nav').animate({
  17.                 left: '-100%'
  18.             });
  19.         };
  20.     });
  21.  
  22.     // Mostramos y ocultamos submenus
  23.     $('.submenu').click(function(){
  24.         $(this).children('.children').slideToggle();
  25.     });
  26. };

si muestra NULL o UNDEFINED entonces el elemento no existe
__________________
Mis aportes te ayudaron??, te hicieron ahorrar valiosos tiempo??, si quieres puedes agradecerme con un Gracias o con una donacion
https://paypal.com/pools/c/8lmNLmWnG9
  #4 (permalink)  
Antiguo 14/03/2020, 09:55
 
Fecha de Ingreso: abril-2016
Mensajes: 32
Antigüedad: 4 años
Puntos: 0
Respuesta: Error TypeError: $(...).animate is not a function

Cita:
Iniciado por tuadmin Ver Mensaje
El mismo error te lo dice,
TypeError: $(...).animate is not a function


por el simbolo de dolar y la funcion animate, dedusco que se trata de JQUERY, ten en cuenta que en algunas versiones no esta habilitado las funciones para animacion, pero si estas seguro que tu version de JQuery lo esta, en ese caso el error esta en que el elemento con TAG NAV no existe $('nav')

prueba poniendo un alert

Código Javascript:
Ver original
  1. $(document).ready(main);
  2.  
  3. var contador = 1;
  4.  
  5. function main () {
  6.     $('.menu_bar').click(function(){
  7.         if (contador == 1) {
  8. alert($('nav'));
  9.       $('nav').animate({
  10.                 left: '0'
  11.             });
  12.             contador = 0;
  13.         } else {
  14.             contador = 1;
  15. alert($('nav'));
  16.             $('nav').animate({
  17.                 left: '-100%'
  18.             });
  19.         };
  20.     });
  21.  
  22.     // Mostramos y ocultamos submenus
  23.     $('.submenu').click(function(){
  24.         $(this).children('.children').slideToggle();
  25.     });
  26. };

si muestra NULL o UNDEFINED entonces el elemento no existe

aparece [object Object] al abrir el menu en modo movil
  #5 (permalink)  
Antiguo 14/03/2020, 11:46
Avatar de ArturoGallegos
Moderador
 
Fecha de Ingreso: febrero-2008
Ubicación: Morelia, México
Mensajes: 6.638
Antigüedad: 12 años, 1 mes
Puntos: 1109
Respuesta: Error TypeError: $(...).animate is not a function

Si has declarado $ ??

En tu código falta esa declaración, tendrías que haber puesto

Código Javascript:
Ver original
  1. var $j = jQuery.noConflict();
  2.  
  3. $j(function($){
  4.     // aqui todo tu codigo jQuery que usa $
  5.  });


Si no quieres hacer esa declaración previa puedes escribir literalmente jQuery en lugar del $



La zona horaria es GMT -6. Ahora son las 11:44.