Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/07/2007, 14:54
imnotinsane
 
Fecha de Ingreso: mayo-2006
Mensajes: 64
Antigüedad: 18 años
Puntos: 0
onclick tiene que esperar en IE para ejecutarse otra vez

Buenas,
tengo una barra de busqueda en la página que estoy haciendo. Ésta aparece y se oculta segun pulso un botón.
El botón tiene onclick="verOcultarMenuBusqueda();"
que ejecuta lo siguiente:

Código:
var movb;
var ypos=85;
			
function VerOcultarMenuBusqueda() 
{
	if (movb==2) movb=-2;   // cuando se vuelve a ejecutar VerOcultaMenu, mov=2 (ya se mostró) y ahora será negativo para ir restando 
	else 		movb=2;	  // al principio esta oculto -> mov=2, se va aumentando xpos 

	MoverMenuBusqueda();
}		
function MoverMenuBusqueda()
{
	ypos=ypos+(4*movb);
	if(ypos < 85) ypos=85;
	if(ypos > 115) 	ypos=115;
				
	document.getElementById("contenedor_perfil_barra").style.top=ypos+"px";
				
	if (ypos <= 85 || ypos >=115) window.clearTimeout();
	else window.setTimeout(MoverMenuBusqueda,14);				
}
Esto mostrará u ocultará el menú de busqueda.

El problema es que en firefox puedo hacer clicks rápidamente, y aunque haya mostrado/ocultado la mitad, comienza a hacer lo contrario, pero en IE, si hago un click y vuelvo a hacerlo rápidamente no funciona, hay que esperar unas decimas de segundo para que vuelva a ejecutar el VerOcultarMenu haciendo click (ignora los clicks rápidos después del primero).

Alguien sabe porque ocurre esto con IE y alguna posible solución?

gracias y saludoos
__________________
webplan - Diseño y desarrollo de páginas webs.
Desde Andalucía - España