codice:
var click=0, offset=40, x=0; y=0;
function scrollmenu(menuID) {
j=eval('menuID.substring(4,6)'); // Rileva l'id del menu clickato..
y=j; // ..salvane una copia..
j++; // ..e aumenta l'id di una posizione (occorre far scrollare solo i menu sotto a quello clickato)
resetmenu(); // Prima di iniziare lo scrolling, ripristina la situazione originale del menu
if ((click == 0) || (z != y)) { // Scrolla solo se non e` ancora stato effettuato nessuno scrolling o se il menu clickato e` diverso da quello clickato prima
for (i = j; i <= 14; i++) { // Abbiamo 14-y elementi da scrollare
x=eval("document.getElementById(menu[i]).style.top"); // Rileva la posizione verticale del menu corrente
if (x.length == 4) { // La posizione e` espressa su 4 caratteri?
num = x.substring(0,2); // Se si`, elimina i due caratteri px dal fondo e prendi i primi due
}
else {
num = x.substring(0,3); // Se no, elimina i due caratteri px dal fondo e prendi i primi tre
}
var valnum = eval(num); // Trasforma la stringa di posizione in un numero
tot = valnum + offset * menu[j+20]; // Calcola quanto spazio occorre per i sottomenu
document.getElementById(menu[i]).style.top = tot; // Sposta l'elemento corrente
}
click=1; // Lo scrolling e` stato effettuato
var contmenu="cmenu" + y; // Determina quale sottomenu occorre far apparire..
document.getElementById(contmenu).style.visibility = "visible"; // ..e rendilo visibile
z=y; // Salva l'id del menu clickato
}
else {
click=0;
}
}
Il problema sembra essere nella riga in grassetto.. Mozilla/NN semplicemente la ignorano.. problemi col getElementById? E se e` cosi` che cappero devo usare?