Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Как Javascript разместить absolute DIV (плавающий) точно по центру экрана? / 11 сообщений из 11, страница 1 из 1
30.03.2009, 12:27
    #35900091
armix2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как Javascript разместить absolute DIV (плавающий) точно по центру экрана?
Как Javascript разместить absolute DIV (плавающий) точно по центру экрана?


Т.е чтобы был по центру окна бразера, как по вертикали так и по горизонтали?

Нашел след пример
divElement.style.left=(parseInt(document.body.clientWidth)-parseInt(divElement.clientWidth))/2+"px";
divElement.style.top=((parseInt(document.body.clientHeight)-parseInt(divElement.clientHeight))/2+"px";

Но он работает лишь без указанного DOCTYPE, а как укажу DOCTYPE окно по вертикали открывается ниже середины?
...
Рейтинг: 0 / 0
30.03.2009, 12:49
    #35900179
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как Javascript разместить absolute DIV (плавающий) точно по центру экрана?
Может ширину клиентской части браузера как-нибудь так писать?
Код: plaintext
1.
document.documentElement.clientWidth?document.documentElement.clientWidth:document.body.offsetWidth
...
Рейтинг: 0 / 0
30.03.2009, 13:22
    #35900297
armix2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как Javascript разместить absolute DIV (плавающий) точно по центру экрана?
ShSergeМожет ширину клиентской части браузера как-нибудь так писать?
Код: plaintext
1.
document.documentElement.clientWidth?document.documentElement.clientWidth:document.body.offsetWidth




Приведенный пример

divElement.style.left=(parseInt(document.body.clientWidth)-parseInt(divElement.clientWidth))/2+"px";
divElement.style.top=((parseInt(document.body.clientHeight)-parseInt(divElement.clientHeight))/2+"px";


Выводит окно не по середине вертикали только на 1024х768, чем больше разрешение - окно выводит по середине!

Не пойму в чем чело!?
...
Рейтинг: 0 / 0
30.03.2009, 13:26
    #35900311
armix2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как Javascript разместить absolute DIV (плавающий) точно по центру экрана?
...
Рейтинг: 0 / 0
30.03.2009, 14:00
    #35900427
Mr.Power
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как Javascript разместить absolute DIV (плавающий) точно по центру экрана?
armix2000Вот наглядно

Пример 1 без Doctype
Пример 2 с Doctype [/quot]


незнаю. помоему всё нормально, по центру.
...
Рейтинг: 0 / 0
30.03.2009, 14:06
    #35900457
ShSerge
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как Javascript разместить absolute DIV (плавающий) точно по центру экрана?
По центру.
...
Рейтинг: 0 / 0
30.03.2009, 14:55
    #35900598
armix2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как Javascript разместить absolute DIV (плавающий) точно по центру экрана?
ShSergeПо центру.

Ребята в том то и дело, что я не пойму, почему у меня на мониторе на 1024х768 нижней границы ДИВА не видно, см скриншот

Напишите пожалуйста, еще кто-нибудь, как у вас на 1024х768 Пример2 видна рамка ДИВА внизу?
http://test.egorievsk.org/2.html
...
Рейтинг: 0 / 0
30.03.2009, 17:28
    #35901126
Black
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как Javascript разместить absolute DIV (плавающий) точно по центру экрана?
у меня тоже кстати не по центру
...
Рейтинг: 0 / 0
31.03.2009, 03:16
    #35901874
illion
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как Javascript разместить absolute DIV (плавающий) точно по центру экрана?
аналогично, не по центру ни в фф3, ни в ие6.

Просмотрела код, думаю скорее всего в разных режимах по разному определяется document.body.clientHeight.

Помимо этого:
- в коде организуется аж два замкнутых цикла вызова функции позиционирования дива (первый в самом начале кода в setTimeout, второй - в body onload)
- из-за того, что позиция дива постоянно расчитывается, он при скролле визуально "дрыгается". Думаю стоит посмотреть в сторону position:fixed (правда, ИЕ не поддерживает это свойство, но хоть в ФФ красиво будет)
- вызов функции позиционирования дива каждые 10мс - это накладно. Может стОит поковыряться в тестовом примере с quirksmode.org и посмотреть, как там обрабатывается скролл? Или протестировать на кроссбраузерность недокументированное событие onscroll (знаю только что в фф2,3 и ие6 работает) и использовать его?
...
Рейтинг: 0 / 0
31.03.2009, 11:48
    #35902549
armix2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как Javascript разместить absolute DIV (плавающий) точно по центру экрана?
Blackу меня тоже кстати не по центру


Вот я не могу никак понтять, почему в 1-м примеретоже самое без DOCTYPE на всех разрешениях посередине, а во 2-м примере НЕТ!!!????????


http://test.egorievsk.org/1.html
http://test.egorievsk.org/2.html
...
Рейтинг: 0 / 0
24.05.2009, 18:07
    #36004116
sasyk
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как Javascript разместить absolute DIV (плавающий) точно по центру экрана?
Спасибо за код... он прекрасный...
Но у меня новая проблема как сам по себе скрипт работает но я хотел разместить его у себя на сайте и ту проблемка.

пока страница грузится - скрипт работает нормально, стоит по срединке, как только загрузилась страница слой убегает далеко до бесконечности вниз увеличивая полосу прокрутки...

помогите пожалуйста с этим разобраться

посмотрите проблему, она тут: у меня на сайте
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Как Javascript разместить absolute DIV (плавающий) точно по центру экрана? / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]