Piccolo Problema menù espandibile toogle

  • Creatore Discussione Creatore Discussione fpweb
  • Data di inizio Data di inizio

fpweb

Nuovo Utente
21 Apr 2008
3
0
0
Salve a tutti,
per prima cosa vi ringrazio di aver visitato il mio post. Ho un problema, penso semplice per chiunque ne capisca un pò di javascript.

Ho realizzato un menù in un sito con un javascript comunemente definito toogle che mi permette, al click di espandere e visualizzare il sottomenù corrispondende messo prima in display='none'. Lo script funziona bene ma un problema al cambio di pagina.

Quando clicco su una delle voci di menù mi occorrerebbe che il menù rimanesse espanso come prima di cliccare.

Per farvi vedere un esempio vi dò il link del sito http://www.snaistadio.it/default.asp dove dovete cliccare per esempio sulla voce "Prospetti Quote" dello Sport.

Per favore aiutatemi


In coda vi mando il codice del javascript messo dentro l'head:

<SCRIPT LANGUAGE="JavaScript">
var lastopen=null;

function apri(obj)
{
a=document.getElementById(obj);
a.style.display="block";
if ((document.getElementById(lastopen))&&(obj!=lastopen))
{
chiudi(lastopen);
}
lastopen=obj;
}

function chiudi(obj)
{
a=document.getElementById(obj);
a.style.display="none";
}

function toggle(obj)
{
a=document.getElementById(obj);
if (a.style.display=="block") { chiudi(obj); }
else { apri(obj); }
}
</SCRIPT>

e il codice html:
<p class="menulaterale"><a href="java-script:toggle('quotesport');" title="Punto Snai Stadio - Prospetti Quote Sport">Prospetti Quote</a></p>
<div id="quotesport" style="display:none;">
<p class="menulaterale2"><a href="dati.asp?idCategoria=2&idTipologia=1" title="Punto Snai Stadio - Calcio">- Calcio</a></p>
<p class="menulaterale2"><a href="dati.asp?idCategoria=3&idTipologia=1" title="Punto Snai Stadio - Basket">- Basket</a></p>
<p class="menulaterale2"><a href="dati.asp?idCategoria=4&idTipologia=1" title="Punto Snai Stadio - Tennis">- Tennis</a></p>
<p class="menulaterale2"><a href="dati.asp?idCategoria=5&idTipologia=1" title="Punto Snai Stadio - Volley">- Volley</a></p>
<p class="menulaterale2"><a href="dati.asp?idCategoria=6&idTipologia=1" title="Punto Snai Stadio - Motori">- Motori</a></p>
<p class="menulaterale2"><a href="dati.asp?idCategoria=7&idTipologia=1" title="Punto Snai Stadio - Ciclismo">- Ciclismo</a></p>
<p class="menulaterale2"><a href="dati.asp?idCategoria=8&idTipologia=1" title="Punto Snai Stadio - Altri Sport">- Altri Sport</a></p>
</div>
 
Problema non risolto....

Ciao lukeonweb,
per prima cosa ti ringrazio per la risposta, ma purtroppo non ho risolto il mio problema. Lo script che mi hai mandato funziona allo stesso modo di quello che avevo prima, e cioè bene.

A me serve che però, quando si passa da una pagina all'altra il menù resti aperto in base all'ultima selezione. Non so se mi sono spiegato...

Ad ogni modo penso di esserci riuscito, anche se con una vera e propria patch, unendo la programmazione asp a questa. Se tu hai qualche soluzione semplice ed alterntiva di ringrazio mille anticipatamente

Ciao e a presto
Fabio
 
Ah ok!

Devi creare degli automatismi legati non tanto al menu ma alla struttura del sito.

Mi spiego meglio.

Immagina che il sito sia composto dal menu:

WEB DESIGN
- HTML
- CSS
WEBMASTER
- Javascript
- ASP
- PHP
DATABASE
- SQL
- Access
- MySQL

OK?

Quindi, quando sei su "WEBMASTER / Javascript" vuoi che il menu WEBMASTER resti aperto, giusto?

Ipotizzi che la URL sia qualcosa tipo:

tuosito.ext/webmaster/javascript/

Devi lavorare sulla funzione che apre il menu e richiamarla all'onload della pagina in funzione della URL corrente.

Ad esempio la funzione si chiama ApriMenu() a cui passi come parametro un ID; ipotizziamo che quello di WEBMASTER sia 1, essendo la seconda voce voce linkabile dell'esempio strutturale che ti ho fatto (partiamo da 0, non da 1, quindi 1 sarebbe 2).

L'ID te lo calcoli a seconda della pagina corrente e lo passi come parametro alla funzione.

Non ti faccio un esempio di codice perchè, dipendendo molto sia dalla struttura delle URL del tuo sito che dal codice del menu, potrebbe essere necessario regolarsi in un modo o in un altro.

Fai qualche prova e, se e quando dovessi avere problemi, usa questa discussione e li risolviamo insieme ;)
 
Grazie ma risolto

Ciao Luke,
alla fine avevo ipotizzato una soluzione similare e quindi avevo risolto così come mi avevi suggerito!

Grazie mille
Fabio
 
parametro

ciao luke, ho seguito attentamente il tuo script, io non mi intendo di javascript, e sto avendo difficoltà in questo menu:
1. lo stesso problema del nostro amico, come faccio a mantenere aperta il menu? non so come passare il parametro dell'id,
2. cliccandoci sopra si apre ma una volta aperto non si chiiude più,
3. cliccando su altri menu mi si apre solo la prima voce, cosa che non dovrebbe succedere.

ti dico che è un menu con ASP e collegamente database a due tabelle, la prima mi da il gruppo mereceologico con cui "titolare" le prime voci, e la seconda tabella mi serve per popolare l'interno del menu con i sottogruppi.

mi aiuteresti per favore? grazie
 
Ultima modifica:

Discussioni simili