[Web2.0] Del JS che non funziona su IE7

Andrea Franceschini therealmorpheu5 a gmail.com
Mar 13 Mar 2007 14:23:44 CET


Salve a tutti. La domanda-gnubbo di oggi è: perché i miei script JS
funzionano benissimo con Firefox e non con IE7? Mi frega relativamente
di IE6 ma IE7 mi secca non supportarlo.

Sto usando Prototype e la libreria di effetti di Scriptaculous, e ho
fatto il seguente script che serve a reagire alla pressione di un
"bottone" facendo scomparire tutti i fratelli di un elemento e facendo
invece apparire proprio l'elemento specificato via id.

var Carbon = {
	switch: function(id) {
		if($(id).style.display != 'none') {
			Effect.Fade($(id), {duration: 0.2});
			return;
		}
		sibs = $(id).siblings();
		// Hide the siblings (TODO: betterize this)
		for(i = 0; i < sibs.length; i++) {
			if(sibs[i].style.display != 'none') {
				Effect.Fade(sibs[i], {duration: 0.2});
			}
		}
		Effect.Appear($(id), {duration: 0.8, queue: 'end'});
	}
}

Ora, quando io voglio associare ad un bottoncino l'azione metto
onclick="Carbon.switch('id_del_nodo')" e tutto funziona a meraviglia,
tranne quando passiamo in IE7. Ora, a prescindere dal fatto che
Scriptaculous funziona in IE7 (ho altre azioni che lo chiamano
direttamente e li' funziona) e quindi immagino anche Prototype, cos'ho
sbagliato nel mio script? Hint: ho gia' provato le varianti di Effect
con e senza il new davanti.


Maggiori informazioni sulla lista Web2.0