Ciao a tutti!
Sto impostando un menu dinamicamente via as con un ciclo for, e fin qui tutto bene...
Sono 6 quadratini che, andandoci sopra, si allungano e scendono tramite chiamata di funzione con setInterval e allo stesso modo tornano su quando si esce dall'area attiva.
Purtroppo, andandoci sopra piano, gli intervalli si aprono e chiudono correttamente, ma se ci si va sopra velocemente, rimangono aperti e la tendina dei pulsanti rimane a metà.
Il problema è che, andando su un altro quadratino, viene richiamata la stessa variabile... Ho tentato di impostare variabili locali, relative ai singoli mc (tipo subMenu.a = setInterval...), ma non funzia...
Avete qualche dritta da darmi?
Ecco il codice:
grazie!codice:arrMenu = new Array("aboutus","mission","servizi","press","contatti","portfolio"); function openSubMenuItem(item) { trace(item._y); if (item._y >= 10) { item._y = 10; clearInterval(c); updateAfterEvent(); } else { item._y += 1; } } function closeSubMenuItem(item) { if (item._y <= 0) { item._y = 0; clearInterval(d); } else { item._y -= 1; } } for(i=0;i<6;i++){ subMenu = eval("_root.menuTendina."+ arrMenu[i]); subMenu.onRelease = function(){ for(x=0;x<6;x++) { mcSubpuls = eval("_root."+ arrMenu[x] + "mov"); if (this._name == arrMenu[x]) { exPage = activePage; activePage = mcSubpuls; showPage(); d = setInterval(closeSubMenuItem, 5, "_root.menuTendina."+ arrMenu[x]); b = setInterval(closeSubMenu, 5); } }; }; subMenu.onRollOver = function(){ c = setInterval(openSubMenuItem, 5, this); }; subMenu.onRollOut = function(){ d = setInterval(closeSubMenuItem, 5, this); } }![]()

Rispondi quotando