- Home
- Categorie
- Coding e Sistemistica
- Javascript & Framework
- menu a scomparsa
-
menu a scomparsa
Salve a tutti, posto per chiedere aiuto nel completamento di un menu a scomparsa che ho realizzato.
Il menu basa il funzionamento su di un codice js che consente l'apertura e la chiusura del sottomenu.
Vorrei che il menu sia in entrambi i lati dello schermo, ovvero nelle colonne di destra e di sinistra, ovviamente con diversi contenuti.
Fino al css non ho problemi, nel senso che creo le due classi per i due lati e tutto va, fino a quando non devo caricare il codice js per le due colonne.
Se carico il codice per quella di destra non funziona a sinistra e viceversa.
C'è un modo per caricare i due codici js nella stessa pagina consentendo ad entrambi i menu di funzionare correttamente?
Grazie.
-
Ciao
Premetto che senza vedere il codice è tutto difficile (anzi spesso lo è anche vedendolo :D).
Comunque se fai un semplice copia e incolla è normale che non funzioni.
Perchè ci saranno funzioni, variabili e elementi con lo stesso nome. Devi provare a differenziare tutti i nomi.Vedendo il codice potrei capire altro.
-
Grazie per la risposta.
Ti quoto il js<quote>
/* CONFIG /
menuClassName = "menuNavigazione";
/ SCRIPT /
function closeSub(menu) {
for (var i=0; i<menu.childNodes.length; i++)
if (menu.childNodes.nodeName.toLowerCase()=="li") {
li = menu.childNodes*;
li.onmouseover = li.onactivate = li.onfocus = function() { if (this.subMenu) this.subMenu.className = this.subMenu.className.replace(/subMenu-off/g,"subMenu-on") };
li.onmouseout = li.ondeactivate = li.onblur = function() { if (this.subMenu) closeSub(this.subMenu) };
for (j=0; j<li.childNodes.length; j++)
if (li.childNodes[j].nodeName.toLowerCase()=="ul" || li.childNodes[j].nodeName.toLowerCase()=="ol") closeSub(li.subMenu = li.childNodes[j]);
}
menu.className = menu.className.replace(/\s?subMenu-on/g,"")+" subMenu-off";
}
/* ON LOAD /
window.onload = function(e) {
if(tags_ = document.getElementsByTagName('ul'))
for(i=0; i<tags_.length; i++)
if (tags_.className==menuClassName) closeSub(tags_);
if(tags_ = document.getElementsByTagName('ol'))
for(i=0; i<tags_.length; i++)
if (tags_.className==menuClassName) closeSub(tags_*);
}</quote>
I due menu li ho chiamati, per semplicità, menudinavigazione e menudinavigazioned.
Chiamando i due js onfocus e onfocusd.
Nel primo, come puoi vedere la classe è menudunavigazione; nel secondo l'altro.
Il punto è che caricandoli funzionano entrambi, ma separatamente, ovvero il secondo caricato annulla il primo.
Quando do il comando
<script type="text/javascript" src="stili/onfocus.js"></script>
e
<script type="text/javascript" src="stili/onfocusd.js"></script>
mi funziona solo il menu di destra, se non inserisco la seconda stringa funziona ovviamente solo quello di sinistra.
Dovrei riuscire a modificare il js in modo da far funzionare entrambi o a dare le due stinghe senza che l'una annulli l'altra.
Non so se sono riuscito a spiegarmi.
Grazie.