Foros del Web » Programando para Internet » Javascript »

Pequeño problema con setTimeout

Estas en el tema de Pequeño problema con setTimeout en el foro de Javascript en Foros del Web. Buenas! El problema que tengo es que nunca se arriba llamar a la funcion... Basicamente consiste en cambiar la propriedad de un style para ponerlo ...
  #1 (permalink)  
Antiguo 09/04/2009, 08:50
machoman112233
Invitado
 
Mensajes: n/a
Puntos:
Pequeño problema con setTimeout

Buenas!

El problema que tengo es que nunca se arriba llamar a la funcion... Basicamente consiste en cambiar la propriedad de un style para ponerlo invisible despues de un cierto tiempo...

Código javascript:
Ver original
  1. function simpleShow(id)
  2. {
  3.     var style_ = document.getElementById(id);
  4.     var style_display = style_.style.display;
  5.     var style_display_see = (style_display == "none")? "block" : "none";
  6.    
  7.     style_.style.display = style_display_see;
  8.     if(style_display_see != "none")
  9.     {setTimeout("hide("+id+")",5000);}
  10. }
  11.  
  12. function hide(id)
  13. {
  14.     document.getElementById(id).style.display = "none";
  15. }

Código html:
Ver original
  1. <tr><td><p onmouseover="simpleShow('i1')" ><?php echo $lang['data_server'];?></p></td><td><input type="text" name="dataServer" id="dataServer"/></td><td><span id="i1" class="hide"><?php echo $desc['data_server'];?></span></td></tr>
  2. <tr><td><p onmouseover="simpleShow('i2')"><?php echo $lang['data_user'];?></p></td><td><input type="text" name="dataUser" id="dataUser"/></td><td><span id="i2" class="hide"><?php echo $desc['data_user'];?></span></td></tr>
  3. <tr><td><p onmouseover="simpleShow('i3')"><?php echo $lang['data_pass'];?></p></td><td><input type="password" name="dataPass" id="dataPass"/></td><td><span id="i3" class="hide"><?php echo $desc['data_pass'];?></span></td></tr>
  4. <tr><td><p onmouseover="simpleShow('i4')"><?php echo $lang['data_db'];?></p></td><td><input type="text" name="dataBase" id="dataBase"/></td><td><span id="i4" class="hide"><?php echo $desc['data_db'];?></span></td></tr>
  #2 (permalink)  
Antiguo 09/04/2009, 09:39
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Pequeño problema con setTimeout

Hola:

Los identificadores (id) deben empezar por una letra o el carácter "_"... prueba cambiandolos...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 09/04/2009, 10:23
 
Fecha de Ingreso: enero-2008
Mensajes: 614
Antigüedad: 16 años, 4 meses
Puntos: 57
Respuesta: Pequeño problema con setTimeout

Cuando se ejecuta la funcion del setTimeout, la variable id ya no existe. Para comprobarlo cambialo por algo asi:

Código HTML:
setTimeout("alert("+id+")",5000);
Una posible solucion seria enviar una cadena a la funcion hide en lugar de enviarle una variable, colocando apostrofes.

Código HTML:
setTimeout("hide('"+id+"')",5000);
  #4 (permalink)  
Antiguo 09/04/2009, 11:08
machoman112233
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Pequeño problema con setTimeout

Gracias a los dos por la ayuda...

Código javascript:
Ver original
  1. setTimeout("hide('"+id+"')",5000);
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 06:08.