Hola,
Intento cambiar una propiedad CSS cada vez que se carga la página o se hace resize (pf11). En HTML tengo :
Código:
<body onresize="comprobarAlto()">
y en el HEAD cargo el siguiente fichero :
Código:
<!--//--><![CDATA[//><!--
sfHover = function() {
var sfEls = document.getElementById("nav").getElementsByTagName("LI");
for (var i=0; i<sfEls.length; i++) {
sfEls[i].onmouseover=function() {
this.className+=" sfhover";
}
sfEls[i].onmouseout=function() {
this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
}
}
}
if (window.attachEvent) window.attachEvent("onload", sfHover);
//Ajustar alto y flechitas del Navegador
function comprobarAlto() {
if (window.innerHeight){
//navegadores basados en mozilla
espacio_iframe = window.innerHeight - 100
}else{
if (document.body.clientHeight){
//Navegadores basados en IExplorer, es que no tengo innerHeight
espacio_iframe = document.body.clientHeight-40
}else{
//otros navegadores
espacio_iframe = 485
}
}
// alert('altura Total :'+window.screen.height)
// alert('altura Disponible :'+window.screen.availHeight)
alturaDisp = espacio_iframe + "px";
regla=(navigator.appName.indexOf("Microsoft")!=-1)?document.styleSheets[0].rules:document.styleSheets[0].cssRules;
regla[3].style.height=alturaDisp;
}
//--><!]]>
No se porque funciona bien con IE7, pero no con Mozilla o Chone, agradecería cualquier guía porque no soy experto en JS y no entiendo por ejemplo que hace la linea
Código:
regla=(navigator.appName.indexOf("Microsoft")!=-1)?document.styleSheets[0].rules:document.styleSheets[0].cssRules;
que sospecho es la madre del cordero aquí.