Salve a tutti, avrei bisogno di un po di aiuto per realizzare un menù.
Il codice HTML è:
Sto cercando di creare una funzione che al click, se fatto su un div cambi il colore di sfondo (e rimetta a posto tutti gli altri), se fatto su uno span metta la sottolineatura al testo (e la tolga agli altri). Non sono molto esperto di js, per ora sono arrivato a questo:codice:<dx> <span id="i" onClick="stile('i');">TEST DEL COLORE</span> | <span id="j" onClick="stile('j');">GUESTBOOK</span> | <span id="k" onClick="stile('k');">LINK</span> | <span id="l" onClick="stile('l');">CONTATTI</span> | <span id="m" onClick="stile('m');">ENGLISH VERSION</span> </dx> </p> <div id="logo">[img]pics/logo_header.png[/img]</div> <div id="a" onClick="stile('a');"></div> <div id="b" onClick="stile('b');"></div> <div id="c" onClick="stile('c');"></div> <div id="d" onClick="stile('d');"></div> <div id="e" onClick="stile('e');"></div> <div id="f" onClick="stile('f');"></div> <div id="g" onClick="stile('g');"></div> <div id="h" onClick="stile('h');"></div>
Questa funzione così non funziona, se commento la parte riguardande i div (per intenderci il blocco lungo) la funzione cambia il colore di sfondo ai div, mentre se clicco su uno span nn succede niente. Se volete vedere come viene fuori il men( più o meno) lo trovate qui.codice:function stile(obj){ var el = document.getElementById(obj); span = document.getElementsByTagName('span'); i=1; while(i < span.length){ //alert(span[i]) span[i].style.textDecoration = "none"; i++ ; } div = document.getElementsByTagName('div'); i=1; while(i < div.length){ //alert(div[i]) if ( (i==1) || (i==5) ) { div[i].style.backgroundColor = "#e6e8eb"; alert (c) } if ( (i==2) || (i==6) ) { div[i].style.backgroundColor = "#d7d9df"; alert(mc) } if ( (i==3) || (i==7) ) { div[i].style.backgroundColor = "#cdcfd4"; alert(ms) } if ( (i==4) || (i==8) ) { div[i].style.backgroundColor = "#b8bac0"; alert(s) } i++ ; } if (el.TagName == "span") {el.stile.textDecoration = "underline";} else {el.style.backgroundColor = "#2f343c";} }
Grazie in anticipo per l'aiuto..

Rispondi quotando