No sé bien a qué te referís con ocultar. Si es al estilo display, sería así:
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, val) {
if (typeof div.filters!='undefined') {
val *= 100;
try {
div.filters.item("DXImageTransform.Microsoft.Alpha").opacity = val;
} catch (e) {
div.style.filter = 'progid:DXImageTransform.Microsoft.Alpha(opacity='+val+')';
}
} else {
div.style.opacity = val;
div.style.MozOpacity = val;
}
}
var transicion=function(inicio,fin,segundos){
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.test++;
document.getElementById("log").innerHTML=_this.test;
_this.val=_this.val+_this.pasos;
//cambiamos esto:
if(_this.val<=.01)
_this.style.display='none';
else
_this.style.display='block';
set_opacity(_this, _this.val);
},this.pausa);
}
function ver(){
var obj=document.getElementById("fondo");
transicion.call(obj,0,1,3);
}
function cerrar(){
var obj=document.getElementById("fondo");
transicion.call(obj,1,0,3);
}
</script>
</head>
<body>
<a href="#top" onclick="ver();">Ver</a>
<div id="fondo" style="background-color:#FF0000; width:100px; display:none; cursor:pointer;" onclick="cerrar();">EJEMPLO</div>
<div id="log"></div>
</body>
</html>