11/11/14 20:24
Erreg
ho preparato un menù con più voci e ogni voce un sottomenù ,i vari sottomenù sono nascosti finchè li mostro passando con il mouse sopra la voce del menù madre , di seguito posto il codice
di seguito i due file CSS e JS
la mia domanda è questa : quando intercetto l'evento mouseover o mouseout come faccio a passare alla funzione "vedoNonVedo() " il sottomenù su cui agire ( mostrare /nascondere ) da inserire al posto di " variabile " ? , perche finchè sono 2 menu al limite mi basta scrivere due funzioni uguali che fanno riferimento a due ul diverse , ma se ci sono molti sottomenù la cosa diventa poco logica
<!DOCTYPE html> <head> <link type="text/css" href="menuStyle.css" rel="stylesheet"/> <script type="text/javascript" src="menuScript.js"></script> </head> <body > <ul> <li class="livello1"id="a1" ><a href="#">uno</a> <ul id="ul21"> <li class="livello2"><a href="#">uno_uno</a></li> <li class="livello2"><a href="#">uno_due</a></li> <li class="livello2"><a href="#">uno_tre</a></li> </ul> </li> <li class="livello1"id="a2"><a href="#">due</a> <ul id="ul22"> <li class="livello2"><a href="#">due_uno</a></li> <li class="livello2"><a href="#">due_due</a></li> <li class="livello2"><a href="#">due_tre</a></li> </ul> </ul> </body> </html>
di seguito i due file CSS e JS
.livello1{ float:left; list-style-type:none ; text-align:center; height:30px; line-height:30px; border-bottom: 5px solid red ; color: black; width:200px; background-color: black; border-radius: 18px; margin-left: 100px; } #ul21,#ul22 { text-align: center; padding-left: 0px; margin-top: 5px; } a{ color:white; text-decoration: none; } .livello2{ list-style-type:none ; text-align:center; width:200px; height:30px; line-height:30px; background-color: black; color: black; border-bottom: 5px solid red ; border-radius: 18px; }
function vedoNonVedo() { if(variabile.style.visibility==="visible") { variabile.style.visibility="hidden"; } else { variabile.style.visibility="visible"; } } window.addEventListener('load',function(){ ul21.style.visibility="hidden"; ul22.style.visibility="hidden"; document.getElementById('a1').addEventListener('mouseover',vedoNonVedo); document.getElementById('a1').addEventListener('mouseout',vedoNonVedo); document.getElementById('a2').addEventListener('mouseover',vedoNonVedo); document.getElementById('a2').addEventListener('mouseout',vedoNonVedo); });
la mia domanda è questa : quando intercetto l'evento mouseover o mouseout come faccio a passare alla funzione "vedoNonVedo() " il sottomenù su cui agire ( mostrare /nascondere ) da inserire al posto di " variabile " ? , perche finchè sono 2 menu al limite mi basta scrivere due funzioni uguali che fanno riferimento a due ul diverse , ma se ci sono molti sottomenù la cosa diventa poco logica
aaa