ok, prova questa variante... spero di non aver fatto troppi errori/orrori vista l'ora...
codice:
nereidFadeObjects = new Object();
nereidFadeTimers = new Object();
/* object - image to be faded (actual object, not name);
* destop - destination transparency level (ie 80, for mostly solid)
* rate - time in milliseconds between trasparency changes (best under 100)
* delta - amount of change each time (ie 5, for 5% change in transparency)
*/
function setOpacity(obj, op) {
if (op == 0) op = 1;
if (obj.filters.alpha.opacity) obj.filters.alpha.opacity = op;
obj.style.opacity = (op/100);
}
function getOpacity(obj) {
return (obj.filters.alpha.opacity)? obj.filters.alpha.opacity : (obj.style.opacity * 100);
}
function nereidFade(object, destOp, rate, delta){
if (object != "[object]"){
setTimeout("nereidFade("+object+","+destOp+","+rate+","+delta+")",0);
return;
}
curropacity = getOpacity(object);
clearTimeout(nereidFadeTimers[object.sourceIndex]);
diff = destOp - curropacity;
direction = (curropacity > destOp) -1 : 1;
delta=Math.min(direction*diff, delta);
setOpacity(object, (curropacity + (direction * delta)));
curropacity = getOpacity(object);
if (curropacity != destOp){
nereidFadeObjects[object.sourceIndex]=object;
nereidFadeTimers[object.sourceIndex]=setTimeout("nereidFade(nereidFadeObjects["+object.sourceIndex+"],"+destOp+","+rate+","+delta+")",rate);
}
}
</script>