Bonjour,
voici (encore) un nouveau sujet sur le menu en accordéon. Mon menu marche. Sauf que quand je clique, par exemple, sur le dernier menu, les sous-menu se développent sans scrolling (normal !). Je voudrais donc effectuer un scroll pour afficher en haut de mon id moleculemenu le menu qui a été ouvert et quand je reclique sur le menu ouvert (qui se ferme) faire un scroll down pour réafficher l'ensemble du menu.
Voici le code html5 pour la déclaration du menu :
avec le css du menu :
et le css de moleculemenu :
Avec un petit script java que j'ai trouvé, je peux gérer le menu :
une idée ?
A+
Furax
Modifié par furax (08 Jul 2012 - 09:02)
voici (encore) un nouveau sujet sur le menu en accordéon. Mon menu marche. Sauf que quand je clique, par exemple, sur le dernier menu, les sous-menu se développent sans scrolling (normal !). Je voudrais donc effectuer un scroll pour afficher en haut de mon id moleculemenu le menu qui a été ouvert et quand je reclique sur le menu ouvert (qui se ferme) faire un scroll down pour réafficher l'ensemble du menu.
Voici le code html5 pour la déclaration du menu :
...
<aside ><!-- sidebar -->
<div id="moleculemenu" > <!-- div contenant mon menu -->
<h3>232 molécules</h3> <!-- nombres de données dans la base -->
<div id="firstpane" class="menu_list"> <!-- début de mon menu -->
<p class="menu_head">alcanes</p> <!-- premier élément du menu -->
<div class="menu_body"> <!-- début du sous menu -->
<a href="#" onclick="[i]une fonction[/i]">CH<sub>3</sub>-CH<sub>3</sub></a>
<a href="#" onclick="[i]une fonction[/i]">CH<sub>3</sub>-CH<sub>3</sub> ecl</a>
<a href="#" onclick="[i]une fonction[/i]">CH<sub>4</sub></a>
<a href="#" onclick="[i]une fonction[/i]">cyclopropane</a>
</div> <!-- fin du sous menu -->
...
</div>
</aside>
avec le css du menu :
a {
color:#000;
text-decoration:none;
}
.menu_list {
margin:0;
padding:0;
width:220px;
list-style-type:none;
line-height:120%;
}
.menu_head {
cursor: pointer;
margin:0px;
font-weight:normal;
background: #2F527A url(ha-down.gif);
background-position:98% 50%;
background-repeat:no-repeat;
color: #faf0e6;
padding:7px ;
padding-left:20px;
}
.menu_head:hover, .menu_all:hover {
text-decoration: underline;
color: #b0c4dd;
}
.menu_body {
display:none;
}
/* sous menu */
.menu_body a{
display:block;
font-weight:normal;
text-decoration:none;
padding:4px 6px 6px 30px;
border-top:1px solid #696969;
border-left:10px solid #696969;
border-right:1px solid #8A8A8A;
border-bottom:1px solid #7B7B7B;
background-color:#ffc66d; /* orange */
color:#000000;
}
.menu_body a:hover{/* liens du sous-menu */
background-color:#ac8b68; /* marron */
color:#FFFFFF;
text-decoration:none;
}
et le css de moleculemenu :
#moleculemenu {
margin-top: 10px;
height: 610px;
float: left;
padding-left: 20px;
width: 20em;
padding-bottom: 25px;
overflow: auto;
}
Avec un petit script java que j'ai trouvé, je peux gérer le menu :
$("#firstpane p.menu_head").click(function()
{
var img;
if ($(this).next("div.menu_body").is(':visible')) {
img = "url(./script/menu/ha-down.gif)";
} else {
img = "url(./script/menu/ha-up.gif)";
};
$(this).css({backgroundImage:img}).next("div.menu_body").slideToggle(300).siblings("div.menu_body").slideUp("slow");
$(this).siblings().css({backgroundImage:"url(./script/menu/ha-down.gif)"});
});
une idée ?
A+
Furax
Modifié par furax (08 Jul 2012 - 09:02)