Domanda

Sto lavorando su un sito con uno stile di navigazione a fisarmonica abbastanza grande (non utilizza l'interfaccia utente della fisarmonica ).

Esistono quattro sezioni di sottomenu che si aprono quando si fa clic. Ho evidenziato il collegamento attivo. L'unico passo rimanente è quello di mantenere aperto il sottomenu attivo corrente quando ci si trova su una pagina all'interno del sottomenu. Posso tenerlo aperto quando sto lavorando con pagine statiche, ma su questo sito la navigazione è un file include e quindi ho bisogno di aiuto per elaborare un modo dinamico per mantenere aperte quelle sezioni.

Ecco il codice che sto usando:

<script type="text/javascript">
$(function(){

$('ul#menu3 ul').hide();                
$('ul#menu3 > li > a.drop').click(function(){
$(this).parent().children('ul').toggle("slow");
   return false;
   });                      
});
</script>

Fondamentalmente quello di cui ho bisogno è un modo per applicare una classe al gruppo attivo in modo che venga mostrato. Qualsiasi aiuto sarebbe molto apprezzato.

Grazie.

È stato utile?

Soluzione 3

Questo è quello che ho finito per usare per risolvere il problema:

$(function(){
$('#mainContentTabs').tabs();
$('#subContentTabBoxes').tabs();
$('.interior #subContent > ul > li > a.drop').click(function(){
$(this).parent().children('ul').toggle("slow");
     return false;
});

$(window).ready(function() {
$('li.products ul').show();
    $('li.technical ul').show();
    $('li.tips ul').show();
$('li.quicklinks ul').show();
});

Grazie.

Altri suggerimenti

Metterei l'animazione del sottomenu in una funzione, quindi per richiamare il sottomenu, usi sul tuo a href

onclick="showSubMenu('id')"

Quella funzione gestirà lo scorrimento. Quindi, una volta cliccato su una pagina che richiede la visualizzazione di un sottomenu, aggiungi alla fine della tua pagina un piccolo

<script>document.ready(function() {showSubMenu('parent-id')});</script>

Spero che questo aiuti.

C

Probabilmente dovrai applicare la classe dinamicamente come variabile o sull'elemento stesso. per es.

var page = 'ul#menu3';

Quindi utilizzare questa variabile per attivare lo stato iniziale, ad esempio

$('#ul#menu3').show();

Questo dovrebbe essere eseguito prima di tutti gli altri javascript relativi ai menu a discesa

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top