Lo script è questo (non so se l'ho preso sul forum o su un altro sito).
Cmq ho risolto alla "bell'ebbuona". Ho inserito nella td una tabella 1x1 e lavoro con quella 
Forse ho capito perchè non lo faceva... faccio una prova e ti dico
codice:
<script>
fade = {
step: 5,
speed : 0.1,
finalOpacity : 80,
currentOpacity : 100,
elID : null,
init : function(el) {
fade.elID = el;
if(arguments.length>1)
{
fade.currentOpacity=arguments[1];
fade.finalOpacity=arguments[2];
fade.speed=arguments[3];
if(fade.currentOpacity<fade.finalOpacity&&fade.step>0)fade.step*=-1;
}
if(arguments.length>4)fade.step=arguments[4];
if (!document.getElementById(el)) return;
fade.setOP(fade.currentOpacity);
fadeInterval = setInterval('fade.doFade()',fade.speed);
},
setOP : function(newOpacity) {
obj = document.getElementById(fade.elID);
if(newOpacity<10)newOpacity='0'+newOpacity;
if(newOpacity<100)obj.style.opacity = "."+(newOpacity);else obj.style.opacity = 1;
obj.style.filter = "alpha(opacity="+newOpacity+")";
fade.currentOpacity = newOpacity;
},
doFade : function(obj) {
if (fade.step>0&&(fade.currentOpacity-fade.step>fade.finalOpacity)) {
fade.setOP(fade.currentOpacity - fade.step);
}
else if (fade.step<0&&(fade.currentOpacity-fade.step<fade.finalOpacity)) {
fade.setOP(fade.currentOpacity - fade.step);
}
else {
fade.setOP(fade.finalOpacity);
clearInterval(fadeInterval);
}
}
}
</script>