È la window.innerHeight che in Internet Explorer non esiste ma, a seconda della versione di Internet Explorer, al suo posto occorre usare:
per IE 6 la document.documentElement.clientHeight
per altri IE: la document.body.clientHeight
ho fatto una funzioncina, sulla base di qualcosa trovato su SanGoogle e la ho applicata:
vedi le parti in rosso
HTHcodice:<script type="text/javascript" language="JavaScript"> <!-- var step = 10; var ugostart = 5; var ugoend = 80; var clickstart = 500; var clickend = 0; var incrUgo; var decrClick; var ugosize; var clicksize; function getInnerHeight() { var h; if( typeof( window.innerHeight ) == 'number' ) { // Non - Internet Explorer h = window.innerHeight; } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) { // Per Internet Explorer 6 h = document.documentElement.clientHeight; } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) { // Per altri Internet Explorer h = document.body.clientHeight; } return h; } incrUgo = Math.round((ugoend-ugostart)/step); decrClick = Math.round((clickstart-clickend)/step); function start() { ugosize=ugostart; document.getElementById('ugo').style.height = ugosize * getInnerHeight() /100 + 'px'; clicksize=clickstart; document.getElementById('click').style.fontSize = clicksize + 'px'; } function clickstep() { step = step - 1 if (step <= 0) { document.getElementById('enter').style.display ='inline'; document.getElementById('step').style.display ='none'; document.getElementById('click').style.display = 'none'; } else { document.getElementById('step').innerHTML='-' + step; ugosize=ugosize+incrUgo document.getElementById('ugo').style.height = ugosize * getInnerHeight() /100 + 'px'; clicksize=clicksize-decrClick; document.getElementById('click').style.fontSize = clicksize + 'px'; } } //--> </script>
Zappa