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 :

Afficher/Cacher menu avec slideToggle


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 43
    Par défaut Afficher/Cacher menu avec slideToggle
    Bonjour,

    Débutant en jQuery, je viens de réaliser un menu déroulant animé grâce au tutoriel suivant : http://dmouronval.developpez.com/tut...ry/menu-anime/

    Dans ce tutoriel, le menu se déroule lorsque l'évènement click de jquery est levé. A la place de cliquer, j'aimerais que celui-ci apparaisse au passage de la souris et se retire dès que la souris n'est plus au bon endroit. J'ai donc utilisé l'évènement hover, mais celui-ci me pose problème.
    Le menu s'affiche bien lorsque le curseur de ma souris se trouve sur l'endroit spécifié. En revanche, dès que je souhaite accéder au menu déroulant, celui-ci se rétracte aussi tôt puisque mon curseur ne se trouve plus sur l'élément déclencheur.

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $(document).ready(function () {
       $('a.menu_head').hover(function () {
    	$('ul.menu_body').slideToggle('medium');
    });
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <a class="menu_head" href="url">Blabla</a>
     
    <ul class="menu_body">
         <!-- ma liste d'éléments -->
    </ul>
    Pour récapituler, je souhaite que mon menu se déroule lorsque le curseur de ma souris est sur "menu-head", mais qu'il ne se rétracte pas pour autant lorsque je suis dans "menu_body".

    Merci par avance.

  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

    Si j'ai bien compris, voici un exemple :
    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    <!doctype html>
    <html lang="fr">
    <head>
    	<meta charset="utf-8">
    	<meta name="Author" content="Daniel Hagnoul">
    	<title>Forum jQuery</title>
    	<style>
    		/* Base */
    		body { background-color:#dcdcdc; color:#000000; font-family:sans-serif; font-size:medium; font-style:normal;
    		font-weight:normal; line-height:normal; letter-spacing:normal; }
    		h1,h2,h3,h4,h5 { font-family:serif; }
    		div,p,h1,h2,h3,h4,h5,h6,ul,ol,dl,form,table,img { margin:0px; padding:0px; }
    		h1 { font-size:2em; text-shadow: 4px 4px 4px #bbbbbb; text-align:center; }
    		p { padding:6px; }
    		div#conteneur { width:95%; min-width:800px; min-height:500px; margin:12px auto; background-color:#FFFFFF;
    		color:#000000; border:1px solid #666666; }
     
    		/* Test */
    		li {list-style:none;}
    		.menu_head{border:1px solid #998675;}
    		.menu_body {display:none; width:184px;border-right:1px solid #998675;border-bottom:1px solid #998675;border-left:1px solid #998675;}
    		.menu_body li{background:#493e3b;}
    		.menu_body li.alt{background:#362f2d;}
    		.menu_body li a{color:#FFFFFF; text-decoration:none; padding:10px; display:block;}
    		.menu_body li a:hover{padding:15px 10px; font-weight:bold;}
    	</style>
    </head>
    <body>
    	<h1>Q. &amp; R. Forum jQuery</h1>
    	<div id="conteneur">
    <div class="container"> 
    	<img src="http://dmouronval.developpez.com/tutoriels/javascript/jquery/menu-anime/fichiers/images/navigate.png" width="184" height="32" class="menu_head" alt="" /> 
    	<ul class="menu_body"> 
    		<li><a href="#">Qui sommes-nous ?</a></li> 
    		<li><a href="#">Portfolio</a></li> 
    		<li><a href="#">Clients</a></li> 
    		<li><a href="#">Blog</a></li> 
    		<li><a href="#">Forums</a></li> 
    		<li><a href="#">Gallerie</a></li> 
    		<li><a href="#">Contact</a></li> 
    	</ul> 
    </div> 
    	</div> 
    	<script charset="utf-8" src="../lib/jqueryui/js/jquery-1.4.3.min.js"></script>
    	<script>
    		$(function(){
    $("ul.menu_body li:even").addClass("alt");
     
    $('img.menu_head').click(function(){
    	$('ul.menu_body').slideToggle('medium');
    });
     
    $('img.menu_head').mouseenter(function(){
    	$('ul.menu_body').slideDown('medium');
    });
     
    $("ul.menu_body").mouseleave(function(){
    	$(this).slideUp('medium');
    });
     
    $('ul.menu_body li a').hover(
    	function(){
    		$(this).animate({ fontSize: "14px", paddingLeft: "20px" }, 50 );
    	},
    	function () {
    		$(this).animate({ fontSize: "12px", paddingLeft: "10px" }, 50 );
    	}
    );
    		});
     	</script>
    </body>  
    </html>

    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 averti
    Profil pro
    Inscrit en
    Août 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 43
    Par défaut
    Parfait ! Merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 12
    Dernier message: 02/06/2015, 18h09
  2. Fonction afficher cacher element avec display:block
    Par babyboy6492 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 17/11/2010, 13h47
  3. Comment afficher/cacher un menu avec balises ul et li?
    Par Jim_Nastiq dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 16/03/2007, 10h07
  4. cacher et afficher un tableau avec un "radio button"
    Par chrix10.2 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 10/01/2007, 20h01
  5. Afficher/Cacher un sous menu au clic
    Par Toutankharton dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 28/09/2005, 16h18

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