IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

affiche après un temps X – débutant


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    graphisme & impression
    Inscrit en
    Mars 2011
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : graphisme & impression

    Informations forums :
    Inscription : Mars 2011
    Messages : 118
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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.

  2. #2
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Belgique

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

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    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();.

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  3. #3
    Membre confirmé
    Homme Profil pro
    graphisme & impression
    Inscrit en
    Mars 2011
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : graphisme & impression

    Informations forums :
    Inscription : Mars 2011
    Messages : 118
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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);
    	});

Discussions similaires

  1. Texte qui s'affiche aprés le clique sur un bouton radio
    Par Rekiem dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 12/04/2006, 17h32
  2. Stopper un process après un temps donné
    Par Danae dans le forum Administration système
    Réponses: 12
    Dernier message: 23/12/2005, 14h07
  3. Afficher en deux temps ...
    Par DJPi dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 12/10/2005, 19h05
  4. [Struts] changer l'url affiché apres un forward
    Par mauvais_karma dans le forum Struts 1
    Réponses: 5
    Dernier message: 31/08/2005, 13h31
  5. fermeture d'une application après un temp d'inactivité?
    Par sitdown dans le forum Autres Logiciels
    Réponses: 1
    Dernier message: 24/08/2005, 15h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo