Вопрос по позиционированию слоя в рабочей области окна с помощью JS.

Camillo

Новичок
Вопрос по позиционированию слоя в рабочей области окна с помощью JS.

Привет всем!
Вопрос следующий:

есть некий невидимый слой с таблицей
<div id="layer" style="visibility:hidden; position:absolute; top:0px; left:0px;">
<table width="300">
<tr>
<td>...</td>
</tr>
</table>
</div>

При клике на ссылке нужно сделать так, чтобы этот слой появлялся бы и позиционировался в центре рабочей области.

ссылка выглядит следующим образом:
<a onClick="Visible()">Make Layer with ID "layer" Visible</a>

Функцию Visible() я написал следующим образом:


function Visible()
{
var blockElement=document.getElementById('layer');
LayerLeft=Math.floor((document.body.clientWidth-300)/2);
LayerTop = document.body.scrollTop + Math.floor((document.body.clientHeight-300)/2);
blockElement.style.visibility = 'visible';
blockElement.style.top = LayerTop;
blockElement.style.left = LayerLeft;
}

по горизонтали всё позиционируется отлично, но вот по вертикали :(
если на странице появляется вертикальный скролинг, то слой всё равно позиционируется где-то наверху, т.е. не учитывается значение document.body.scrollTop

добавил в ф-ию Visible() еще одну строчку alert(document.body.scrollTop);
Всё время выдаёт значение "0" :(

Подскажите пожалуйста в чем может быть дело и ошибка?

насчет document.body.scrollTop почитал msdn.microsoft.com вродя бы это именно то, что мне надо, но вот как это применить в моём случае - для меня осталось загадкой.

Буду благодарен за любую информацию. Спасибо огромное!

-~{}~ 08.08.05 00:00:

браузер в котором тестирую IE6

-~{}~ 08.08.05 11:21:

чё никто не знает?

-~{}~ 08.08.05 19:00:

Всё! Заработало! Просто не надо было писать в начале хтмла вот это:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
 
Сверху