2010-12-11 83 views
1

Hier soir je me demandais comment il est possible de retarder un fadeIn ou quelque chose de similaire. Ce n'est pas quelque chose sur lequel je travaille, je me demandais juste.jQuery: Retard de fadeIn, slideDown ou quelque chose de similaire

Si vous avez une liste, avec des liens qui activent une info-bulle sur le vol stationnaire, par exemple. Comment faites-vous "attendre" jusqu'à ce que vous avez plané pendant 1 seconde? Je veux faire cela, donc les pointes d'outils ne "scintillent" pas lorsque vous passez la souris sur la liste. Si tu comprends ce que je veux dire.

La même chose pourrait être utilisée aux connexions. Si vous voyez http://twitter.com/ (non connecté). Si la case de connexion en haut, a été activé avec hover, et ne cliquez pas, il disparaîtrait à nouveau si votre curseur quittait la boîte de connexion. Est-il possible de définir un "délai" pour que votre curseur puisse quitter la boîte de connexion, et revenir, sans qu'il ne disparaisse ...?

En bref:
- Comment activer un script, quand vol stationnaire après x secondes?
- Comment définir un délai pour masquer une div (si elle n'est pas en vol stationnaire) qui a été activée par un vol stationnaire?
- Est-ce la même chose, juste à l'envers?

Répondre

0

Il y a un plugin vol stationnaire très avancé qui attend votre souris pour ralentir avant le déclenchement du code arbitraire - http://cherne.net/brian/resources/jquery.hoverIntent.html

Sinon, si vous n'avez pas besoin quelque chose de si avancé ... vous pouvez simplement déclencher le animation dans un setTimeout(), et sur appel mouseleave clearTimeout()

Encore une autre alternative, est de ne pas déranger avec le retard. Si vous faites un .stop().fadeIn() et un .stop().fadeOut() plutôt qu'un simple show() et hide(), vous n'obtiendrez pas un "scintillement" et l'effet sera plutôt agréable.

(Vous pouvez regarder .delay() pour retarder le code lié animation -. Bien que cela ne fera que retarder l'animation, même si vous vous déplacez au large de la div avant que le délai se termine)