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">
Привет всем!
Вопрос следующий:
есть некий невидимый слой с таблицей
<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">