Salve a tutti,
sono ore che cerco inutilmente di far funzionare questo codice: il problema mi è chiaro, ma non trovo soluzione.
Quando questo codice viene eseguito l'alert ritorna sempre "undefined". Questo perchè cerca figli[i], ma i in quel momento è più grande della lunghezza dell'array figli. Quello che io stò cercando di ottenere invece è che ogni volta ogni "nodo" ricordi il valore che la variabile i aveva al momento in cui l'eventListener è stato aggiunto e chiami una funzione parametrizzata con quella precisa i, non con il valore che i assume alla fine. (in pratica vorrei dinamimicamente ottenere il codice tra i commenti /**/)codice:window.onload= function(){ document.getElementById('nav').onmouseout=function(){ moveToDiv(document.getElementById(cur)); }; var figli= document.getElementById('nav').childNodes; for(var i=0; i<figli.length; i++){ if(figli[i].nodeType != "3"){ figli[i].addEventListener("mouseover",function (){ window.alert(figli[i]); moveToDiv(figli[i]); }, false); } } /*document.getElementById('lnav_home').onmouseover=function(){ moveToDiv(document.getElementById('lnav_home')); }; document.getElementById('lnav_azienda').onmouseover=function(){ moveToDiv(document.getElementById('lnav_azienda')); }; document.getElementById('lnav_servizi').onmouseover=function(){ moveToDiv(document.getElementById('lnav_servizi')); }; document.getElementById('lnav_contatti').onmouseover=function(){ moveToDiv(document.getElementById('lnav_contatti')); }; */ };
Spero possiate aiutarmi.
Grazie in anticipo

Rispondi quotando