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 06/05/2011, 21h23   #1
Invité de passage
 
Inscription : mars 2011
Messages : 22
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 22
Points : 4
Points : 4
Par défaut affiche après un temps X – débutant

Bonjour à tous,

J'ai essayé de faire une liste déroulante en JS et j'ai quelques problèmes pour gérer son comportement… (je suis malheureusement débutant)
Ce code fonctionne, la liste apparaît correctement au passage de la souris.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 
	$("div.photo a").mouseover(function(){
	$(this).parent().children("dl").clone().appendTo("#auteur");
	$("#auteur>dl>dt:first-child").remove();
	$("#auteur>dl>dd:first-child").remove();
		 var liste=$("#auteur>dl>dt:nth-child(7)");
		 liste.css("border-top","1px solid gray");
 		 liste.css("margin-top","30px");
		 liste.css("margin-bottom","10px");
		 liste.css("color","rgb(240,135,0)");
 		 liste.css("font-size","13px");
	$("#auteur>dl").slideToggle("normal");  
	});
 
	var auteur=$("#auteur");	
	var time=1000;
	var souris=$("div.photo a");
 
	function enrouler(){
		$("#auteur>dl").slideUp();
	}
 
 
	souris.mouseout(function(){
	 setTimeout(enrouler, time);
	});
Hors, je voudrais faire une fonction de cette liste, puis lui demander de s'afficher uniquement si l'utilisateur reste 5 sec sur div.photo a!
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
	function derouler(){
	$("div.photo a").mouseover(function(){
	$(this).parent().children("dl").clone().appendTo("#auteur");
	$("#auteur>dl>dt:first-child").remove();
	$("#auteur>dl>dd:first-child").remove();
		 var liste=$("#auteur>dl>dt:nth-child(7)");
		 liste.css("border-top","1px solid gray");
 		 liste.css("margin-top","30px");
		 liste.css("margin-bottom","10px");
		 liste.css("color","rgb(240,135,0)");
 		 liste.css("font-size","13px");
	$("#auteur>dl").slideToggle("normal");  
	});
	}
 
	var auteur=$("#auteur");	
	var time=1000;
	var souris=$("div.photo a");
 
	function enrouler(){
		$("#auteur>dl").slideUp();
	}
 
	souris.mouseover(function(){
	 setTimeout(derouler, time);
	});
 
	souris.mouseout(function(){
	 setTimeout(enrouler, time);
	});
Merci à tous pour votre lecture, si quelqu'un peut me donner un coup de pouce c'est très sympa!

Merci encore!
meilleures salutations.
SuperArbre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/05/2011, 23h25   #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

Il ne faut pas confondre gestion d'événement et appel de fonction. L'événement se produit et se gère indépendamment des appels de fonction. Mais vous pouvez provoquer un événement, par un : $("div.photo a").mouseover();.
__________________

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 00
Vieux 07/05/2011, 09h31   #3
Invité de passage
 
Inscription : mars 2011
Messages : 22
Détails du profil
Informations forums :
Inscription : mars 2011
Messages : 22
Points : 4
Points : 4
Par défaut merci

Hello,

merci beaucoup pour ta réponse.

Si j'ai bien compris, le fait que dans ma fonction "derouler" il se trouve un .mouseover est une erreur?

En fait cette fonction ne marche pas et je peine à trouver l'erreur(s)…

Très bonne journée et merci.
Meilleures salutations.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
	var liste=$("#auteur>dl>dt:nth-child(7)");
	var auteur=$("#auteur");	
	var time=100;
	var souris=$("div.photo a");
 
 
	function derouler(){
	$(this).parent().children("dl").clone().appendTo("#auteur");
	$("#auteur>dl>dt:first-child").remove();
	$("#auteur>dl>dd:first-child").remove();
		 liste.css("border-top","1px solid gray");
 		 liste.css("margin-top","30px");
		 liste.css("margin-bottom","10px");
		 liste.css("color","rgb(240,135,0)");
 		 liste.css("font-size","13px");
	$("#auteur>dl").slideToggle("normal");  
	}
 
 
	function enrouler(){
		$("#auteur>dl").slideUp();
	}
 
	souris.mouseover(function(){
	 setTimeout(derouler, time);
	});
 
	souris.mouseout(function(){
	 setTimeout(enrouler, time);
	});
SuperArbre est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h40.


 
 
 
 
Partenaires

Hébergement Web