Partage
  • Partager sur Facebook
  • Partager sur Twitter

[jQuery] menu accordéon

alsacréations

Sujet résolu
Anonyme
    14 février 2010 à 13:02:40

    Bonjour,
    j'ai voulu tester par moi-même le menu en accordéon du site alsacréation: ce menu

    mais le résultat n'y est pas, pourtant je pense avoir bien recopié le code. Les liste restent apparentes, il n'y a aucun effet d'ouverture... cela reste statique:
    Pouvez vous m'aider?
    Merci

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    	<head>
    		<title>Institution Ste Catherine</title>
    		<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
    
    		<link rel="stylesheet" type="text/css" media="screen" href="style.css" />
    		<script type="text/javascript" src="jquery-1.2.1.js"></script> 
    
    	</head>
    
    </script>   
    <body>
    	
    	<div id="en_tete">
    	</div>
    
    	<div id="corps">
    		<div id="menu">
    			<ul class="navigation"> 
    				<li><a href="#" title="Aller à la page 1">Item 1</a></li> 
    			 
    				<li class="toggleSubMenu"><span>Item 2</span> 
    					<ul class="subMenu"> 
    						<li><a href="#" title="Aller à la page 2.1">Item 2.1</a></li> 
    			 
    						<li><a href="#" title="Aller à la page 2.2">Item 2.2</a></li> 
    						<li><a href="#" title="Aller à la page 2.3">Item 2.3</a></li> 
    			 
    					</ul> 
    				</li> 
    				<li class="toggleSubMenu"><span>Item 3</span> 
    					<ul class="subMenu"> 
    			 
    						<li><a href="#" title="Aller à la page 3.1">Item 3.1</a></li> 
    						<li><a href="#" title="Aller à la page 3.2">Item 3.2</a></li> 
    			 
    					</ul> 
    				</li> 
    				<li><a href="#" title="Aller à la page 4">Item 4</a></li> 
    			 
    			</ul>
    		</div>
    	
    	</div>
    </body>
    </html>
    


    body 
    {
    	width : 852px;
    	background-color : #00288f;
    	color : #000000;
    	margin : auto;
    	font-family : "Trebuchet MS";
    	margin-bottom : 25px;
    }
    #en_tete
    {
    	width : 681px;
    	height : 118px;
    	background-image : url('images/ban.jpg');
    	margin : auto;
    	margin-top: 20px;
    	padding-top : 30px;
    	background-repeat: no-repeat;
    }
    #corps 
    {
    	width : 100%;
    	background-color : #f6cb67;
    }
    .navigation { 
          margin: 0; 
          padding: 0; 
          list-style: none; 
          background: #000; 
          color: #fff; 
          width: 200px; 
          font: 1.2em "Trebuchet MS", sans-serif; 
          } 
       .navigation a, .navigation span { 
          display: block; 
          padding: 4px 10px; 
          color: #fff; 
          text-decoration: none; 
          background: #000 url(menu-item.png) left bottom no-repeat; 
          } 
       .navigation .toggleSubMenu a, .navigation .toggleSubMenu span { 
          background-image: url(menu-item-deroule.png); 
          } 
       .navigation .open a, .navigation .open span { 
          background-image: url(menu-item-enroule.png); 
          } 
       .navigation a:hover, .navigation a:focus, .navigation a:active { 
          text-decoration: underline; 
          } 
       .navigation .subMenu { 
          font-size: .8em; 
          background: #ccc url(subMenu.png) 0 0 repeat-x; 
          font-size: .9em; 
          margin: 0; 
          padding: 0; 
          border-bottom: 1px solid #666; 
          } 
       .navigation ul.subMenu a { 
          background: none; 
          padding: 3px 20px; 
          }
    


    $(document).ready( function () { 
        // On cache les sous-menus : 
        $(".navigation ul.subMenu").hide(); 
        // On sélectionne tous les items de liste portant la classe "toggleSubMenu" 
     
        // et on remplace l'élément span qu'ils contiennent par un lien : 
        $(".navigation li.toggleSubMenu span").each( function () { 
            // On stocke le contenu du span : 
            var TexteSpan = $(this).text(); 
            $(this).replaceWith('<a href="" title="Afficher le sous-menu">' + TexteSpan + '<\/a>') ; 
        } ) ; 
     
        // On modifie l'évènement "click" sur les liens dans les items de liste 
        // qui portent la classe "toggleSubMenu" : 
        $(".navigation li.toggleSubMenu > a").click( function () { 
            // Si le sous-menu était déjà ouvert, on le referme : 
            if ($(this).next("ul.subMenu:visible").length != 0) { 
                $(this).next("ul.subMenu").slideUp("normal"); 
            } 
            // Si le sous-menu est caché, on ferme les autres et on l'affiche : 
            else { 
                $(".navigation ul.subMenu").slideUp("normal"); 
                $(this).next("ul.subMenu").slideDown("normal"); 
            } 
            // On empêche le navigateur de suivre le lien : 
            return false; 
        });     
     
     
    } ) ;
    


    Merci
    • Partager sur Facebook
    • Partager sur Twitter

    [jQuery] menu accordéon

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown