Salut à tous,
Je cherche à "convertir" mon menu en liste vers un menu déroulant.
Voici quelques exemples :
Exemple 1
Exemple 2
Le site sur lequel je travaille est un "One Page" fonctionnant avec des ancres et un système d'onglets ...
J'ai essayé différentes méthodes, mon menu déroulant s'affiche bien lorsque la taille du navigateur se rapproche de celle d'un smartphone (via mediaqueries) mais je ne parviens pas à changer de page (ou d'onglet) lorsque je choisis une option dans le select. Je ne sais pas si cela est dû à une erreur/oubli de code JS par rapport à l'utilisation des ancres ou si cela provient du script permettant l'affichage des pages via les onglets.
Quelqu'un peut-il m'aider ?
Voici mon code :
HTML (Menu)
CSS
JS (Pour le système d'onglets)
JS (Pour le select)
Merci !
Modifié par yank (11 Oct 2012 - 18:55)
Je cherche à "convertir" mon menu en liste vers un menu déroulant.
Voici quelques exemples :
Exemple 1
Exemple 2
Le site sur lequel je travaille est un "One Page" fonctionnant avec des ancres et un système d'onglets ...
J'ai essayé différentes méthodes, mon menu déroulant s'affiche bien lorsque la taille du navigateur se rapproche de celle d'un smartphone (via mediaqueries) mais je ne parviens pas à changer de page (ou d'onglet) lorsque je choisis une option dans le select. Je ne sais pas si cela est dû à une erreur/oubli de code JS par rapport à l'utilisation des ancres ou si cela provient du script permettant l'affichage des pages via les onglets.
Quelqu'un peut-il m'aider ?
Voici mon code :
HTML (Menu)
<nav role="navigation">
<ul class="tabs">
<li class="tab"><a href="#section1" class="tab-section1">Page 1</a></li>
<li class="tab"><a href="#section2" class="tab-section2">Page 2</a></li>
<li class="tab"><a href="#section3" class="tab-section3">Page 3</a></li>
<li class="tab"><a href="#section4" class="tab-section4">Page 4</a></li>
<li class="tab"><a href="#section5" class="tab-section5">Page 5</a></li>
</ul>
</nav>
CSS
nav select { display:block;}
nav ul { display:none; }
JS (Pour le système d'onglets)
var $content = $("#content");
$content.easytabs({
animate : true,
updateHash : false,
transitionIn : 'fadeIn',
transitionOut : 'fadeOut',
animationSpeed : 200,
tabs : ".tab",
tabActiveClass :'active',
});
$content.find('.tabs li a').hover(
function() {
$(this).stop().animate({ marginTop: "-5px" }, 200);
},function(){
$(this).stop().animate({ marginTop: "0px" }, 300);
}
);
JS (Pour le select)
jQuery(document).ready(function($){
var $menu_select = $("<select />");
$("<option />", {"selected": "selected", "value": "", "text": "Site Navigation"}).appendTo($menu_select);
$menu_select.appendTo("nav");
$("nav ul li a").each(function(){
var menu_url = $(this).attr("href");
var menu_text = $(this).text();
if ($(this).parents("li").length == 2) { menu_text = '- ' + menu_text; }
if ($(this).parents("li").length == 3) { menu_text = "-- " + menu_text; }
if ($(this).parents("li").length > 3) { menu_text = "--- " + menu_text; }
$("<option />", {"value": menu_url, "text": menu_text}).appendTo($menu_select)
})
field_id = "nav select";
$(field_id).change(function()
{
value = $(this).attr('value');
window.location = value;
});
})
Merci !
Modifié par yank (11 Oct 2012 - 18:55)