2013-06-03 17 views
5

Desidero modificare il comportamento del menu di avvio di Twitter su dispositivi di piccole dimensioni per chiudere il menu espanso facendo clic su una voce di menu o facendo clic sul menu pulsante. Attualmente (impostazione predefinita), posso solo comprimerlo facendo clic sul pulsante del menu nell'angolo in alto a destra, indipendentemente dal fatto che avessi fatto clic su un collegamento/voce di menu o meno. Come potrei farlo? Non riesco a capirlo dalla documentazione della TB e la ricerca su Internet non ha fornito alcuna risposta.Twitter Menu di avvio Bootstrap/piccoli dispositivi: chiude/comprimi menu facendo clic su una voce di menu

risposta

6

si può provare qualcosa di simile ..

$('.nav li a').on('click',function(){ 
    $('.nav-collapse').collapse('hide'); 
}) 

Questo funziona per i collegamenti di menu che fa riferimento '#'. Il menu dovrebbe già collassare se i collegamenti del menu navigano verso un'altra pagina del sito, poiché ciò comporterebbe un aggiornamento completo della pagina.

+0

Grazie, Skelly! Lo proverò. Il problema è che ho un sito web a pagina singola, che utilizza ancoraggi in modo che la pagina non venga aggiornata in quanto il collegamento non si allontana dalla pagina corrente. – gfaw

+0

Questo lo fa davvero! Grazie ancora! – gfaw

+1

Questa è un'ottima risposta. Non mi sono reso conto che la logica Bootstrap predefinita per comprimere il menu non funziona quando si utilizza un'applicazione singola pagina (come su un'app Angular.JS.) Ho dovuto usare $ ('. Navbar-collapse'). '); invece di "nav-collapse", ma per il resto funziona come un incantesimo. –

7

Grazie per la correzione Skelly. Ha funzionato benissimo nel menu "mobile", ma sfortunatamente causava un difetto visivo nella modalità "desktop" perché era il targeting .nav-collapse e questa classe è attiva in entrambe le modalità. Così, ho fatto una piccola modifica:

$('.nav li a').on('click',function(){ 
    $('.navbar-collapse.in').collapse('hide'); 
}) 

Questa modifica invocherà solo le funzionalità 'nascondere' quando il menu è in modalità "mobile".

Nota: Questa è testato solo su Bootstrap 3.

+0

Funziona perfettamente con Bootstrap 3.0. Grazie! – plang

+0

Ho cercato molto per questa risposta grazie mille è stato molto utile. – RPDeshaies

3

È possibile farlo usando HTML, aggiungere data-toggle="collapse" data-target=".in" per ancorare

Esempio:

<li><a href="#" data-toggle="collapse" data-target=".in">Link</a></li> 
+0

Questa è sicuramente la migliore risposta. Semplice. Grazie. – Batman