Ver Mensaje Individual
  #4 (permalink)  
Antiguo 04/04/2010, 13:50
Avatar de Nemutagk
Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Problema con setTimeout (JS)

A ver, lo que te di es un ejemplo de uso, no es necesario hacer un "show/hide", puedes hacer un "animation" o incluso llamar a otra función que haga una animación mucho más compleja.... tal y como lo tienes en tu código, solo que con "hover" te desases de código que esta de mas y evitas el uso de variables globales...

El problema que comentas con "hover" sobre los "divs" de los botones es porque esta mal estructurado el código HTML que implementas, incluso el CSS, si el código esta bien no tienes porque tener problemas, yo utilizo "hover" en botoneras, menu's y en general en cualquier elemento que necesito que responda ante las acciones del cursor (mouseover, mouseup, de hecho, JQuery para eso lo implemento)

Lo que indicas sobre dejar un tiempo el cursor encima, con el código que tienes lo único que hace es que tarda en llamar la función abrir y cerrar, sin embargo, si pasas el cursor por encima y de inmediato lo quitas igual llamara la función en 370 milisegundos o 2.5 segundos en el caso de cerrar, es lo mismo que utilizaras un "jquery.delay()" en la función del "hover"

Al final la única diferencia entre el código que tienes es que el que te sugiero tiene menos lineas y te evitas problemas con "setTimeOu"t y variables globales...
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)