Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Помогите пожалуйста (https://javascript.ru/forum/dom-window/69855-pomogite-pozhalujjsta.html)

Nikita23830 22.07.2017 23:03

Помогите пожалуйста
 
:help: :help: :help: :help: :help: :help:
Вообщем ситуация такая
есть на странице div накрывающий всю область body
Имеет width 1366
position: absolute
Значение left ставиться в window.onload
window.onload = function () {
	document.getElementById('ekran').style.left = ((window.innerWidth/2)-683) + 'px';
}

683 = 1366 / 2
.ekran {
	position: absolute;
	width: 1366px;
	height: 900px;
}


Но при открытии страницы блок все равно стоит слева,
я сделал пробный
OnClick="alert(document.getElementById('ekran').style.left);"

Пишет правильный Left, но блок все равно стоит у края.
проверял в F12(chrome) все правильно, может кто знает как решить?

Nikita23830 22.07.2017 23:20

Нашел решение:
перед установкой "left" добавил:
document.getElementById('ekran').style.position = 'absolute';

Что очень страно.... но помогло

laimas 23.07.2017 04:13

Цитата:

Сообщение от Nikita23830
ситуация такая
есть на странице div накрывающий всю область body

Если всю, то какие могут быть расчеты с left и width, если в этом случае и ширина и высота его должна быть 100%, а top = left = 0.

Маэстро 23.07.2017 11:45

Цитата:

Сообщение от laimas (Сообщение 459342)
Если всю, то какие могут быть расчеты с left и width, если в этом случае и ширина и высота его должна быть 100%, а top = left = 0.

Наверное он имел ввиду, что контейнер СНАЧАЛА занимает всю область экрана, а ПОСЛЕ загрузки страницы - надо чтобы только половину экрана.
Но вычислять точное значение в px - плохая идея. Лучше после загрузки задавать left='50%'; width='50%'; иначе придется еще делать обработчик onresize().

laimas 23.07.2017 12:29

Цитата:

Сообщение от Маэстро
Наверное он имел ввиду, что контейнер СНАЧАЛА

Не знаю что имелось ввиду, но речь идет не о панели, которую нужно отцентрировать, а как раз о div на весь экран.


Часовой пояс GMT +3, время: 20:21.