Foros del Web » Programando para Internet » Javascript »

problema con setTimeOut

Estas en el tema de problema con setTimeOut en el foro de Javascript en Foros del Web. Hola a todos, estoy intentando hacer un menu sencillito en javascript, de forma que cuando pones el raton encima se despliegan debajo mas opciones. Utilizo ...
  #1 (permalink)  
Antiguo 31/10/2008, 16:29
 
Fecha de Ingreso: octubre-2008
Mensajes: 7
Antigüedad: 15 años, 6 meses
Puntos: 0
problema con setTimeOut

Hola a todos, estoy intentando hacer un menu sencillito en javascript, de forma que cuando pones el raton encima se despliegan debajo mas opciones.

Utilizo dos funciones una que muestra el div con el evento onmouseover y otra que lo oculta con onmouseout y un retardo de 5 segundos.

las funciones son

function mostrarMenu(nombre,valor){
document.getElementById(nombre).style.display=valo r;
}
function ocultarMenu (nombre,valor){
setTimeout("document.getElementById(nombre).style. display=valor", 5000);
}

La primera funciona perfectamente, pero con la segunda no hay forma, el div queda abierto, si lo hago sin settimeout, funciona de maravilla pero desaparece y no da tiempo a seleccionar ningun link, o sea que el fallo es de la funcion settimeout.

gracias a todos
  #2 (permalink)  
Antiguo 31/10/2008, 16:40
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: problema con setTimeOut

Hola:

Deberías hacer una concatenación...

Código:
function ocultarMenu (nombre,valor){
setTimeout("document.getElementById(nombre).style. display='" + valor + "'", 5000);
}
Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 31/10/2008, 17:08
 
Fecha de Ingreso: octubre-2008
Mensajes: 7
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: problema con setTimeOut

Muchas gracias caricatos, pero tampoco "encoge", un ejemplo de como quiero usarla es:

<div id="menu" class="menu">
<p><a href="javascript:llamarPagina ('principal.html', 'principal')"onmouseover="mostrarMenu('cuotas','bl ock')" onmouseout="ocultarMenu('cuotas','none')">Principal</a></p>
<div id="cuotas" class="submenu">
<ul>
<li><a href="javascript:llamarPagina ('cuotas.html', 'principal')">Actualizar Cuotas</a></li>
<li><a href="javascript:llamarPagina ('act_admin.php', 'principal')">Añadir / Borrar Admin</a></li>
<li><a href="javascript:llamarPagina ('edit_admin.php', 'principal')">Editar Administrador</a></li>
</ul>
</div>

pero ocultar menu no acaba de funcionar, he copiado tu funcion de forma literal
  #4 (permalink)  
Antiguo 31/10/2008, 17:16
 
Fecha de Ingreso: octubre-2008
Mensajes: 7
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: problema con setTimeOut

setTimeout("document.getElementById('" + nombre + "').style. display='" + valor + "'", 5000);

solucionado gracias a caricatos y un colega, combinando ambas opciones, el problema eran las comillas pa variar, muchisimas gracias
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 14:40.