Mejor usar algo así tanto para aparecer como para desaparecer:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title></title>
<script>
function set_opacity(div, value) {
div.style.opacity = value;
div.style.MozOpacity = value;
div.style.KhtmlOpacity = value;
div.style.filter = 'alpha(opacity=' + value*100 + ')';
div.style.zoom=1;//necesario para Explorer
}
var transicion=function(inicio,fin,segundos,callback){
var _this=this;
this.test=0;
if(_this.intervalo)clearInterval(_this.intervalo);
if(this.val && Math.abs(fin-_this.val)<0.01)return;
this.val=!this.val?inicio<1?inicio+.0001:inicio:this.val;
set_opacity(this, this.val);
this.pasos=(fin-inicio)/100;
this.pausa=segundos*10;
this.intervalo=setInterval(
function(){
if(_this.test>99 || Math.abs(fin-_this.val)<0.01){
clearInterval(_this.intervalo);
_this.val=fin;
set_opacity(_this, _this.val);
if(typeof callback=='function')
callback();
}
_this.test++;
document.getElementById('log').innerHTML=_this.test;
_this.val=_this.val+_this.pasos;
set_opacity(_this, _this.val);
},this.pausa);
}
window.onload=function(){
var obj=document.getElementById('pp');
/*ejemplo si se quiere llamar a otra función después
transicion.call(obj,1,0,5,function(){transicion.call(obj,0,1,5);});
ó
transicion.call(obj,1,0,5,function(){obj.style.display='none';});
*/
transicion.call(obj,1,0,5);
}
</script>
</head>
<body>
<div id="pp" style="background-color:#FF0000; width:100px;">EJEMPLO</div>
<div id="log"></div>
</body>
</html>