Ver Mensaje Individual
  #10 (permalink)  
Antiguo 12/05/2013, 07:17
alexg88
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: ¿cómo hacer que se pare una función mediante un evento?

El código en sí es muy simple y para el caso que aplica sí es necesario usar funciones anónimas. Son necesarias para poder realizar una función reutilizable.

Se puede realizar una función que sólo sirva para un elemento (pero no es reutilizable) y que no usa funciones anónimas en la parte del setInterval (aunque sí para asignar los eventos onmouseover y onmouseout)

Código Javascript:
Ver original
  1. window.onload = function()
  2. {    
  3.     blink();
  4. }
  5.  
  6. function blink_aux()
  7.     {      
  8.             var element = document.getElementById("textoParpadeante");
  9.             element.style.visibility = (element.style.visibility == "visible") ? "hidden" : "visible";
  10.     }
  11.  
  12. function blink()
  13. {
  14.     var id;
  15.    
  16.     id = setInterval(blink_aux, 500);
  17.    
  18.     element.onmouseover = function()
  19.     {
  20.         clearInterval(id);      
  21.     }
  22.    
  23.     element.onmouseout = function()
  24.     {
  25.         id = setInterval(blink_aux, 500);
  26.     }    
  27. }

Si encuentras alguna otra forma, no dudes en ponerla.

Un saludo.