|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité régulier
![]() Mathieu Martin Inscription : avril 2010 Messages : 42 ![]() |
Bonjour à tous (ou bonsoir!)
Je suis loin d'être un crack en JS, et j'apprends sur le tas par tutoriel du coup, là, je suis vraiment bloqué sur un truc, qui ne doit pas être si compliqué: Je souhaite, au survol de la souris sur un lien, afficher un div(#desc) avec un délai de 500ms. Jusque là, pas de problème, j'utilise l'event "onMouseOver" dans mon lien, qui appel la fonction setTimeOut("FonctionAffichageDiv()",500). Oui, mais. Je souhaiterais que cette fonction ne s'éxécute que lorsque l'internaute reste au moins 500 ms sur le lien. Autrement dit, si l'internaute reste moins de 500 ms sur le lien, je ne veux pas afficher le div #desc J'ai pensé à clearTimeOut, mais je ne comprends pas vraiment comment m'en servir. De manière hyper simplifiée (mon code est plus compliqué en vrai, j'ai tout viré le php et autre JS...) Code :
|
||
|
|
00
|
|
|
#2 | ||
|
Membre Expert
![]() Boris Dessysans emploi Inscription : décembre 2010 Messages : 872 ![]() |
ta requête n'est pas facile (ou alors je suis trop débutant pour voir la solution "facile").
en gros, une fois ta souris sur ton lien, ça déclenche un événement, mais après ton délai il est difficile de savoir où se trouve ta souris car il n'y a pas de nouvel événement de déclenché. je te propose donc d'avoir une variable qui enregistre si ta souris est ou non sur ton lien grace à l'événement onmouseout (combiné à onmouseover). comme par exemple Code html :
ps: je n'ai pas testé, donc j'ignore si je n'ai pas fait d'erreur, tiens-moi au courant. |
||
|
|
00
|
|
|
#3 | ||||
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 808 ![]() |
Pour pouvoir utiliser clearTimeout(), il faut avoir nommé setTimeout() :
Code :
Code :
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
||||
|
10
|
|
|
#4 | ||||
|
Invité régulier
![]() Mathieu Martin Inscription : avril 2010 Messages : 42 ![]() |
Merci à tous les deux pour vos promptes réponses.
J'ai essayé d'abord celle de Will, mais je n'ai pas réussi à la mettre en œuvre. Bovino, la solution en jquery n'a pas tout à fait l'effet escompté (la méthode .stop stoppe l'animation fadeIn, qui, si elle a commencé à s'afficher, reste dans son état d'opacité intermédiaire!). Par contre, j'ai tenté la solution JS sans jquery, et ça marche! J'ai mis quelques petites secondes à l'adapter car: Ce que je souhaite mettre exactement en place est ceci : - j'ai une liste de liens vers des livres (le idbook est l'identifiant du livre, le tout généré par du php), qui sont tous de la même classe "preview" telle que lorsqu'on clique on est renvoyé vers la page book (qui affiche les informations complètes relatives à un livre). Code :
Je mets donc ma "solution" complète, qui est sûrement pas la plus légère mais qui réjouira (je l'espère) les gens qui cherche à faire ce genre de choses: Code hmtl :
|
||||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com