Foros del Web » Programando para Internet » Javascript »

Cancelar funcion y despues volver a activarla

Estas en el tema de Cancelar funcion y despues volver a activarla en el foro de Javascript en Foros del Web. Tengo una gran duda. Tengo un gran problema al querer q durante la ejecucion de una funcion, otra no funcione. Miren este ejemplo: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); ...
  #1 (permalink)  
Antiguo 13/02/2010, 19:35
 
Fecha de Ingreso: diciembre-2007
Mensajes: 274
Antigüedad: 16 años, 4 meses
Puntos: 0
Cancelar funcion y despues volver a activarla

Tengo una gran duda. Tengo un gran problema al querer q durante la ejecucion de una funcion, otra no funcione.

Miren este ejemplo:

Código Javascript:
Ver original
  1. function topFondo(obj,color)
  2. obj.style.backgroundColor=color
  3.  
  4. var nClick =0; //Comprueba el numero de veces q se hizo click
  5. function clickeadoTop(obj){
  6. nClick++
  7. if(nClic==1){
  8.     obj.style.backgroundColor="#CCCCCC"
  9. //cancela funcion topFondo o niega los eventos onmouseout onmouseover
  10.     }
  11. else{
  12. //Vuelve a activar la funcion o los eventos
  13. }
  14.  
  15.     }
  16.  
  17.    <td align="center" valign="middle" bgcolor="#3B8BAC" class="topMenu" onmouseout="topFondo(this,'#3B8BAC')" onmouseover="topFondo(this,'#6DCEF8')" onclick="clickeadoTop(this)"><a href="#"  onclick="mostrarForms('formLogin')" >Login</a></td>

Desde ya muchas gracias
  #2 (permalink)  
Antiguo 13/02/2010, 21:13
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 17 años, 6 meses
Puntos: 122
Respuesta: Cancelar funcion y despues volver a activarla

Lo más sencillo es usar una variable:

Código Javascript:
Ver original
  1. var topFondoEnabled = true;
  2. function topFondo(obj,color){
  3. if(topFondoEnabled){
  4. obj.style.backgroundColor=color
  5. }
  6. }
  7.  
  8. var nClick =0; //Comprueba el numero de veces q se hizo click
  9. function clickeadoTop(obj){
  10. nClick++
  11. if(nClic==1){
  12.     obj.style.backgroundColor="#CCCCCC";
  13.     topFondoEnabled = false;
  14. //cancela funcion topFondo o niega los eventos onmouseout onmouseover
  15.     }
  16. else{
  17. //Vuelve a activar la funcion o los eventos
  18. topFondoEnabled = true;
  19. }
  20.  
  21.     }
  22.  
  23.    <td align="center" valign="middle" bgcolor="#3B8BAC" class="topMenu" onmouseout="topFondo(this,'#3B8BAC')" onmouseover="topFondo(this,'#6DCEF8')" onclick="clickeadoTop(this)"><a href="#"  onclick="mostrarForms('formLogin')" >Login</a></td>

Eso debe ser más que suficiente. Por cierto, fíjate en mantener una sintaxis correcta cuando escribes por que hay errores en tu código.
__________________
twitter: @imbuzu

Etiquetas: funcion, volver
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 20:10.