Salve,
sono nuovo del forum ma mi rivolgo a voi per un problema a cui non so venire a capo.

Premettendo che sono decisamente un novellino nel mondo del javascript, ho bisogno di uno script che mi faccia il fade di un div da opacity 0 a 100%.

bene, premesso questo sto usando queso semplice codice

codice:
var duration = 300;  /* 1000 millisecond fade = 1 sec */
var steps = 100;       /* number of opacity intervals   */
var delay = 5000;     /* 5 sec delay before fading out */

function fade_tel(id){

	for (i = 0; i <= 1 + (1 / steps); i += (1 / steps)) {
    setTimeout("setOpacity(" + i + ",'" + id + "')", i * duration);
  }
  setTimeout("fadeOut()", delay);
}



function setOpacity(level,id) {
  var element = document.getElementById(id); 
  element.style.opacity = level;
  element.style.MozOpacity = level;
  element.style.KhtmlOpacity = level;
  element.style.filter = "alpha(opacity=" + (level * 100) + ");";
  element.style.filter = "progid: DXImageTransform.Microsoft.Alpha(opacity="+ (level * 100) + ");";
}

su firefox, opera, e safari 0 problemi. funziona da dio

su IE7 invece mi da questo strano problema [tralasciando il fatto che mi blocca lo script]:
praticamente uso png per oggetti trasparenti, solo che quando lo script è attivo, le immagini con sfondo trasparente passano da così:



a così




qualcuno ha qualche idea sul perchè succede questo? io non so come venirne fuori


intanto grazie


edit:

il css del div in questione:
codice:
#mio_div {
  //ho omesso i vari parametri del div, come dimensioni, posizioni ecc..

  filter: alpha(opacity=00);
  filter: progid: DXImageTransform.Microsoft.Alpha(opacity=00);
  -ms-filter:"progid: DXImageTransform.Microsoft.Alpha(opacity=00)";
  -moz-opacity: 0.00;
  opacity:0.0;

}