Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Вывести DIV по центру экрана


Автор: FireDemon 30.11.2007, 15:41
Написал такой код, DIV появляется по центру но когда прокручиваешь вниз он остается на верху.
Код

<script language="javascript">
left = screen.width/2 - 65;
top = screen.height/2 - 180;
document.write('<div id="overlay" style="opacity: 0.7; display: none;">
<div style="opacity: 2; position:absolute; left: '+left+'; top: '+top+';" id="loaddiv">
<table class="loading" cellspacing="0" cellpadding="3"><tr><td><code>Идет загрузка...</code></td></tr></table></div></div>');
</script>


Как сделать так что бы при прокрутке DIV оставался по центру экрана?

Автор: Astraller 30.11.2007, 16:11
FireDemon, для нормальных бровзеров:
Код

position:absolute;


Для IE есть хак smile

Автор: FireDemon 30.11.2007, 18:07
Юзаю FireFox
position:absolute; написано, DIV отображается по центру, но если я прокрчу скролом вниз, то он остается вверху, мне надо сделать привязку DIV к скролу smile

Автор: Wolf1994 30.11.2007, 19:07
Код

function handle_div(id)
{
 var obj=document.getElementById(id);
 try
 {
  obj.style.top=(innerHeight/2-180)+"px";
  obj.style.left=(innerWidth/2-65)+"px";
 }
 catch(e)
 {
  obj.style.top=document.body.scrollTop+(document.body.clientHeight/2-180)+"px";
  obj.style.left=document.body.scrollLeft+(document.body.clientWidth/2-65)+"px";
  window.onscroll=handle_div;
  window.onresize=handle_div;
 }
}


Для FF - style="position:fixed";

Автор: Astraller 1.12.2007, 11:16
FireDemon, именно.
Код

position: fixed;

Сори. smile 

Автор: FireDemon 3.12.2007, 15:18
Wolf1994, а где выполнять эту функцию?

Автор: Wolf1994 3.12.2007, 15:38
После вывода DIV. В функцию передать id дива.

Автор: FireDemon 3.12.2007, 17:22
Wolf1994, Так и сделал, но до catch(e) не доходит вообще и ни каких ошибок не выводит.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)