Foros del Web » Programando para Internet » Javascript »

Cancelar función llamada con setTimeout

Estas en el tema de Cancelar función llamada con setTimeout en el foro de Javascript en Foros del Web. Hola. ¿Se puede cancelar la llamada a una función con setTimeout. Para explicarme mejor, tengo esto: Código: setTimeout ("fSubmit()", 5000); Pero si en estos cinco ...
  #1 (permalink)  
Antiguo 19/06/2007, 01:24
Avatar de Mahalo  
Fecha de Ingreso: julio-2004
Ubicación: Mallorca (Illes Balears)
Mensajes: 1.121
Antigüedad: 19 años, 9 meses
Puntos: 12
Cancelar función llamada con setTimeout

Hola.

¿Se puede cancelar la llamada a una función con setTimeout. Para explicarme mejor, tengo esto:
Código:
setTimeout ("fSubmit()", 5000);
Pero si en estos cinco segundos ocurre algo, ¿puedo cancelar la llamada a la función fSubmit?

Saludos!
  #2 (permalink)  
Antiguo 19/06/2007, 01:46
 
Fecha de Ingreso: julio-2006
Mensajes: 206
Antigüedad: 17 años, 9 meses
Puntos: 2
Re: Cancelar función llamada con setTimeout

Puede usar la funcion cleartimeout(), al realizarse el evento que quieres q pare a fsubmit, haces q se ejecute cleartimeout
  #3 (permalink)  
Antiguo 19/06/2007, 01:52
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 1 mes
Puntos: 1284
Re: Cancelar función llamada con setTimeout

Hola:

Debes usar una variable:

temporizador = setTimeout("fSubmit()", 5000);

y para cancelar:
clearTimeout(temporizador);

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #4 (permalink)  
Antiguo 19/06/2007, 01:57
Avatar de Mahalo  
Fecha de Ingreso: julio-2004
Ubicación: Mallorca (Illes Balears)
Mensajes: 1.121
Antigüedad: 19 años, 9 meses
Puntos: 12
Re: Cancelar función llamada con setTimeout

Hola, y gracias por responder.

¿Qué ocurre si hago un clearTimeout sin haber un temporizador en marcha? ¿He de comprobar primero si existe el temporizador?

Más saludos.
  #5 (permalink)  
Antiguo 19/06/2007, 02:32
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 1 mes
Puntos: 1284
Re: Cancelar función llamada con setTimeout

Hola:

Puedes inicializar la variable a false, y consultar su valor:

var temporizador = false;
temporizador = setTimeout(...);

if (temporizador) {clearTimeout(temporizador); temporizador = false;}

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #6 (permalink)  
Antiguo 19/06/2007, 12:21
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Re: Cancelar función llamada con setTimeout

Por favor, un poquito de google antes de preguntar... con cancelar+setTimeout habría bastado.

Un saludo.
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
  #7 (permalink)  
Antiguo 15/05/2008, 03:44
 
Fecha de Ingreso: abril-2008
Mensajes: 2
Antigüedad: 16 años
Puntos: 0
Re: Cancelar función llamada con setTimeout

Cita:
Por favor, un poquito de google antes de preguntar... con cancelar+setTimeout habría bastado.
googleando llegue hasta aqui, en el segundo resultado y con lo que queria.

Gracias por la solucion
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:37.