Есть вот такой код, затемняет страницу при выводе окна. Страница затемняется по высоте окна, а ниже, если прокрутить, не затемняется.
Как исправить, чтобы затемнялась вся страница? Подскажите, пожалуйста.
Запрещать прокрутку не хочется, там сайт ломается из-за position:fixed;overflow:hidden;
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<style type="text/css">
body {margin:0; padding:0}
h1, h2 {text-align:center; color:#f00}
p {margin:0; text-align:justify; text-indent:1.5em}
#content {padding:5px}
/* черная полупрозрачная подложка */
#ten {
display:none;
position:absolute;
width:100%;
text-align:center;
}
/* для нормальных браузеров */
/* IE 6 не понимает спецификатора дочернего селектора > */
body > #ten {
background-color:#000;
-moz-opacity: 0.2; /* код для движков Mozilla */
opacity:.20;
}
/* псевдоокно */
#form {
display:none;
position:fixed;
width:400px;
height:200px;
margin:auto;
padding:20px;
text-align:left;
background-color:#fff;
bottom:150px;
left:300px;
}
</style>
<!--[if IE]>
<style type="text/css">
#ten {filter: Alpha(Opacity=20); background-color:#000;}
</style>
<![endif]-->
<script type="text/javascript">
var timer = null;
var opacity = 20;
function sfp_changePage ()
{
// нагромождение с низким поклоном Великому Биллу
// для нормальных браузеров достаточно window.innerHeight
var height = (window.innerHeight? window.innerHeight:
(document.documentElement.clientHeight? document.documentElement.clientHeight:
document.body.offsetHeight));
var width = (window.innerWidth? window.innerWidth:
(document.documentElement.clientWidth? document.documentElement.clientWidth:
document.body.offsetWidth));
var top = Math.ceil(height / 2 - 110); // 110 - половина высоты окна с формой, включая padding
var left = Math.ceil(width / 2 - 210); // 210 - половина ширины окна с формой, включая padding
// устанавливаем черный полупрозрачный блок на весь экран
document.getElementById ("ten").style.height = height+"px";
// делаем его видимым
document.getElementById ("ten").style.display = 'block';
// делаем его видимым
document.getElementById ("form").style.display = 'block';
// "проявляем" затенение
timer = setInterval ("shadow()", 1);
}
function shadow ()
{
document.getElementById ("ten").style.opacity = opacity++ / 100;
document.getElementById ("ten").style.MozOpacity = opacity / 100;
document.getElementById ("ten").style.filter = "Alpha(Opacity="+opacity+")";
if (opacity >= 80)
clearInterval (timer);
}
</script>
</head>
<body>
<div id="ten"></div>
<div id="form"></div>
<div id="content">
<p>Чтобы посмотреть, как это выглядит, нажмите кнопку:
<input type="button" onclick="sfp_changePage()" value="Показать окно" /></p>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
</div>
</body>
</html>