Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > jQuery
jQuery Forum d'entraide sur le framework jQuery. Avant de poster : Tutoriels jQuery, FAQ jQuery, Tous les tutoriels JavaScript, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/07/2011, 15h55   #1
Invité de passage
 
Homme Thomas Triboult
Étudiant
Inscription : juillet 2011
Messages : 8
Détails du profil
Informations personnelles :
Nom : Homme Thomas Triboult
Âge : 21
Localisation : France, Orne (Basse Normandie)

Informations professionnelles :
Activité : Étudiant
Secteur : Enseignement

Informations forums :
Inscription : juillet 2011
Messages : 8
Points : 3
Points : 3
Par défaut Evenement Hover et animate - jQuery 1.6.1

Bonjour,

j'utilise jQuery depuis peu et j'ai un petit problème sur un script assez simple que j'ai codé. Celui-ci permet de faire "monter" puis "descendre" la description d'un article lorsque l'utilisateur passe sa souris dessus (hover). Voici le script en question :
Code :
1
2
3
4
5
6
 
jQuery('.zone').hover(function(){
		$('.effet').animate({top:80},500);
	},function(){
		$('.effet').animate({top:105},500);
	});
Biensur il se trouve dans un : $(document).ready(). Mais si l'on survole assez vite l'image plusieurs fois d'affilé, l'action va s'exécuter autant de fois que l’événement s'est déclenché. J'aimerais limiter cet effet.

Si je ne me suis pas bien fait comprendre, rendez-vous ici : http://www.fildepices.com/index.php et tentez un Parkinson avec votre souris sur les images encadrées en noire. Je pense que vous verrez le souci.

Merci d'avance.
SpYd3r est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/07/2011, 22h00   #2
Rédacteur
 
Avatar de danielhagnoul
 
Homme Daniel Hagnoul
Étudiant perpétuel
Inscription : février 2009
Messages : 3 221
Détails du profil
Informations personnelles :
Nom : Homme Daniel Hagnoul
Âge : 61
Localisation : Belgique

Informations professionnelles :
Activité : Étudiant perpétuel
Secteur : Enseignement

Informations forums :
Inscription : février 2009
Messages : 3 221
Points : 6 767
Points : 6 767
Bonsoir

Je vous suggère d'essayer :

Code :
1
2
3
4
5
6
7
8
jQuery('.zone').hover(
	function(){
		$('.effet').stop(true, true).animate({top:80}, 500);
	},
	function(){
		$('.effet').stop(true, true).animate({top:105}, 500);
	}
);
stop() : http://api.jquery.com/stop/

Si vous voulez ralentir le rythme, on peut ajouter un délai d'attente :

Code :
1
2
3
4
5
6
7
8
jQuery('.zone').hover(
	function(){
		$('.effet').stop(true, true).delay(1000).animate({top:80}, 500);
	},
	function(){
		$('.effet').stop(true, true).delay(1000).animate({top:105}, 500);
	}
);
__________________

FAQ jQuery

Mon cahier d’exercices sur jQuery & Co

Si un message vous a aidé ou vous semble pertinent, votez pour lui !
danielhagnoul est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 17/07/2011, 23h23   #3
Invité de passage
 
Homme Thomas Triboult
Étudiant
Inscription : juillet 2011
Messages : 8
Détails du profil
Informations personnelles :
Nom : Homme Thomas Triboult
Âge : 21
Localisation : France, Orne (Basse Normandie)

Informations professionnelles :
Activité : Étudiant
Secteur : Enseignement

Informations forums :
Inscription : juillet 2011
Messages : 8
Points : 3
Points : 3
Merci pour ta réponse .stop() m'a permis de corriger ce "bug".
SpYd3r est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h07.


 
 
 
 
Partenaires

Hébergement Web