Bonjour à tous!
J'ai un petit probléme et j'espère que vous pourrez m'aider. Je souhaite mettre des menus à onglets dans un menu accordeon mais lorsque je passe par exemple de l'item 2 à l'item 3 le contenu du menu onglets ne s'affiche pas. Comment pourrais-je passer d'un item à un autre en ayant toujours le contenu du menu à onglet qui s'affiche?
Voici mes codes sources:
Merci
J'ai un petit probléme et j'espère que vous pourrez m'aider. Je souhaite mettre des menus à onglets dans un menu accordeon mais lorsque je passe par exemple de l'item 2 à l'item 3 le contenu du menu onglets ne s'affiche pas. Comment pourrais-je passer d'un item à un autre en ayant toujours le contenu du menu à onglet qui s'affiche?
Voici mes codes sources:
<!--accordeon.html-->
<link rel="stylesheet" media="screen" type="text/css" title="design" href="accordeon.css"/>
<body
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.1.min.js"></script><script type="text/javascript" src="accordeon.js"></script><script type="text/javascript" src="tabs2.js"></script>
<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>
<ul class="menu">
<li><a href="#tab01">lien 1</a></li>
<li><a href="#tab02">lien 2</a></li>
<li><a href="#tab03">lien 3</a></li>
</ul>
<div id="conteneur">
<div id="tab01" class="contenu">1</div>
<div id="tab02" class="contenu">2</div>
<div id="tab03" class="contenu">3</div>
</div>
</li>
</ul>
</li>
<li class="toggleSubMenu"><span>Item 3</span>
<ul class="subMenu">
<li>
<ul class="menu">
<li><a href="#tab1">lien 1</a></li>
<li><a href="#tab2">lien 2</a></li>
<li><a href="#tab3">lien 3</a></li>
</ul>
<div id="conteneur">
<div id="tab1" class="contenu">1</div>
<div id="tab2" class="contenu">2</div>
<div id="tab3" class="contenu">3</div>
</div>
</li>
<li><a href="#" title="Aller à la page 3.2">Item 3.2</a></li>
</ul>
</li>
<li class="toggleSubMenu"><span>Item 4 </span>
<ul class="subMenu">
<li>
<ul class="menu">
<li><a href="#tab11">lien 1</a></li>
<li><a href="#tab12">lien 2</a></li>
<li><a href="#tab13">lien 3</a></li>
</ul>
<div id="conteneur">
<div id="tab11" class="contenu">1</div>
<div id="tab12" class="contenu">2</div>
<div id="tab13" class="contenu">3</div>
</div>
</li>
<li><a href="#" title="Aller à la page 3.2">Item 3.2</a></li>
</ul>
</li>
<li class="toggleSubMenu"><span>Item 5 </span>
<ul class="subMenu">
<li>
<ul class="menu">
<li><a href="#tab11">lien 1</a></li>
<li><a href="#tab12">lien 2</a></li>
<li><a href="#tab13">lien 3</a></li>
</ul>
<div id="conteneur">
<div id="tab11" class="contenu">1</div>
<div id="tab12" class="contenu">2</div>
<div id="tab13" class="contenu">3</div>
</div>
</li>
<li><a href="#" title="Aller à la page 3.2">Item 3.2</a></li>
</ul>
</li>
</ul>
</body>
/*accordeon.css*/
/*Tabs Menu Onglets*/
.menu{list-style-type:none;width:150px;}
.menu li {display:inline-block;}
.menu a {text-decoration:none;}
#conteneur {border:solid 1px gray;width:775px;height:400px;padding:10px 10px 10px 10px;}
.active{text-decoration:underline;}
/*--------------------------------------------------------------*/
/*Menu accordeon*/
.navigation {
margin: 0;
padding: 0;
list-style: none;
background: #000;
color: #fff;
width: 800px;
font: 1.2em "Trebuchet MS", sans-serif;
}
.navigation a, .navigation span {
padding: 0px;
color: #fff;
text-decoration: none;
background: #000 url(menu-item.png) left bottom no-repeat;
width:800px;
}
.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;
width:800px;
}
.navigation ul.subMenu a {
background: none;
padding: 0px;
}
/*accordeon.js*/
$(document).ready( function () {
// On cache les sous-menus
// sauf celui qui porte la classe "open_at_load" :
$(".navigation ul.subMenu:not('.open_at_load')").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", function () { $(this).parent().removeClass("open") } );
}
// Si le sous-menu est caché, on ferme les autres et on l'affiche :
else {
$(".navigation ul.subMenu").slideUp("normal", function () { $(this).parent().removeClass("open") });
$(this).next("ul.subMenu").slideDown("normal", function () { $(this).parent().addClass("open") } );
}
// On empêche le navigateur de suivre le lien :
return false;
});
} ) ;
Merci