Pues me funciona perfectamente. Le puse diferentes colores de fondo para verlo mejor, y me hace los cambios bien.
¿En qué navegador te falla? ¿tenés algún error en su consola de errores?
Esta es la página de prueba que me hice:
Código html:
Ver original<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<script type="text/javascript">
window.onload = function() {
d1 = document.getElementById("topMenu1").style;
d2 = document.getElementById("topMenu2").style;
var f = function() {
if (d1.visibility === "hidden") {
d1.visibility = "visible";
d2.visibility = "hidden";
} else {
d1.visibility = "hidden";
d2.visibility = "visible";
}
}
setInterval(f, 1000);
}
<div id="topMenu2" style="position:absolute;background:red">Contenido 2
</div> <div id="topMenu1" style="position:absolute;background:blue">Contenido 1
</div>