Intento cambiar una propiedad CSS cada vez que se carga la página o se hace resize (pf11). En HTML tengo :
Código:
y en el HEAD cargo el siguiente fichero : <body onresize="comprobarAlto()">
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:
que sospecho es la madre del cordero aquí. regla=(navigator.appName.indexOf("Microsoft")!=-1)?document.styleSheets[0].rules:document.styleSheets[0].cssRules;