Foros del Web » Programando para Internet » Javascript »

Ejecutar una función sólo si transcurre un tiempo

Estas en el tema de Ejecutar una función sólo si transcurre un tiempo en el foro de Javascript en Foros del Web. Hola Me gustaría que se ejecute una función sólo si transcurre digamos 4 segundos después de un evento hover o si enfoco un elemento, si ...
  #1 (permalink)  
Antiguo 25/06/2010, 10:54
Avatar de XLogus  
Fecha de Ingreso: noviembre-2008
Ubicación: AQP
Mensajes: 495
Antigüedad: 15 años, 5 meses
Puntos: 19
Ejecutar una función sólo si transcurre un tiempo

Hola
Me gustaría que se ejecute una función sólo si transcurre digamos 4 segundos después de un evento hover o si enfoco un elemento, si lo desenfoco a los 3 segundos ya no se ejecutaría la función. ¿Es eso posible?

Alguien me sugirio usar setTimeout("alert('Welcome')",4000)

Pero eso lo que hace es ejecutar algo después de 4 segundos, no quiero eso.

Gracias
  #2 (permalink)  
Antiguo 25/06/2010, 11:02
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Ejecutar una función sólo si transcurre un tiempo

por ahi es que va la solucion. la unica forma de invocar instrucciones luego de transcurrido un tiempo son con setTimeout y setInterval. uno es singular y el otro es continuo. en todo caso, ambos devuelven un valor identificador que se puede utilizar con clearTimeout o clearInterval para detener la ejecuccion. entonces en tu caso, en el evento mouseover o focus retarda la ejecuccion con el tiempo deseado y con el evento mouseout o blur detienes la ejecucccion. recuerda almacenar en una variable el identificador devuelto por setTimeout.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 30/06/2010, 08:45
Avatar de XLogus  
Fecha de Ingreso: noviembre-2008
Ubicación: AQP
Mensajes: 495
Antigüedad: 15 años, 5 meses
Puntos: 19
Respuesta: Ejecutar una función sólo si transcurre un tiempo

Hola
No conocia la funcion ClearTimeOut(), al fin lo hice funcionar
Gracias

Etiquetas: ejecutar
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 02:00.