Este ejemplo rudimentario demuestra cómo hacerlo con setInterval. Comprueba una vez por segundo el estado de visualización de su menú de selección, y luego oculta o muestra un contenido. Funciona de acuerdo con la descripción de su problema, y no importa lo que oculte el menú de selección, mostrará ese contenido en consecuencia. En otras palabras, toggleDisplay() se configuró solo para demostrar eso.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title></title>
<script language="javascript" type="text/javascript">
var STECHZ = {
init : function() {
STECHZ.setDisplayedInterval();
},
setDisplayedInterval : function() {
STECHZ.isDisplayedInterval = window.setInterval(function(){
if (document.getElementById("mySelectMenu").style.display == "none") {
document.getElementById("myObjectToShow").style.display = "block";
} else {
document.getElementById("myObjectToShow").style.display = "none";
}
}, 1000);
},
isDisplayedInterval : null,
toggleDisplay : function() {
var mySelectMenu = document.getElementById("mySelectMenu");
if (mySelectMenu.style.display == "none") {
mySelectMenu.style.display = "block";
} else {
mySelectMenu.style.display = "none";
}
}
};
window.onload = function(){
STECHZ.init();
}
</script>
</head>
<body>
<p>
<a href="#" onclick="STECHZ.toggleDisplay();return false;">Click to toggle display.</a>
</p>
<select id="mySelectMenu">
<option>Option 1</option>
<option>Option 2</option>
<option>Option 3</option>
</select>
<div id="myObjectToShow" style="display: none;">Only show when mySelectMenu is not showing.</div>
</body>
</html>
Cuando lo leí, mi conjetura fue algo relacionado con los elementos de SELECT rotos de IE. Entonces me puse triste. – Shog9