A maneira mais simples que descobri de obter a “navegação de slides oculta” em sites para celular sem criar código adicional é simplesmente atribuir ao elemento de agrupamento de sua navegação uma posição fixa (que pode estar fora da página ou atrás do resto do conteúdo da página). O único código adicional que precisa ser adicionado é o próprio botão móvel, que moverá todo o resto da página e trará a navegação móvel.
Além disso, você precisa ter certeza de adicionar algum código window.resize em JQuery para garantir que os elementos ocultos não permaneçam ocultos quando o site muda do celular para o tablet, etc.
Aqui está o código:
HTML
<nav class="span12">
/* Mobile button -- Hidden in other media queries */
<span class="mobile"><i class="icon-reorder"></i></span>
/* Navigation */
<ul id="primary">
<li class="mobileLink">
<a href="Index.html"><i class="icon-home"></i> Home</a>
</li>
<li>
<a href=""><i class="icon-info-sign"></i> Nav Link 1</a>
</li>
<li>
<a href=""><i class="icon-group"></i> Nav Link 2</a>
</li>
</ul>
</nav>
CSS
Você provavelmente vai querer ter certeza de que a largura de navegação não é 100% para garantir que você ainda possa ver o botão Nav móvel que pode alternar para entrar e sair da navegação.
nav { background:#color; width:85%; position:fixed; top:0; bottom:0; left:-98%; margin:0; z-index:9999; }
nav > ul#primary > li.mobileLink { display:block; }
JQuery
$('.mobile').click(function() {
if($(this).hasClass('active')) {
$(this).removeClass('active');
$('nav').animate({left:"-100%"},200);
$('nav>.mobile').animate({left:"4%"},200);
$('Element that wraps around site content').animate({"margin-left":"0"},200);
} else {
$(this).addClass('active');
$('nav').animate({left:"0%"},200);
$('nav>.mobile').animate({left:"87%"},200).addClass("active");
$('Element that wraps around site content').animate({"margin-left":"83%"},200);
}
})
$(window).resize(function() {
if($(window).width() > 530) {
$('nav').children('ul').show();
$('.container').css({"margin-left":"auto"});
} else if($(window).width() < 530) {
$('nav').children('ul').show()
}
})