Положение всплывающего окна

12
С8
На сайте с 23.08.2012
Offline
108
#11

Dinozavr, спасибо вам за подсказку, в общем, я поэкспериметировала с этими цифрами и сделала так, чтобы и с тех и с этих страниц окно выводилось одинаково).

D
На сайте с 14.01.2007
Offline
153
#12

вы же понимаете, что делает эта формула?


var left_block = Math.round((getClientWidth() - 400) / 2);

т.е. вам надо пределить отступ слева.

вся страница(С), грубо говоря, это отступ слева(О)+ширина вашей формы(Ф)+такой же отступ справа(О)

С=О+Ф+О

С=2*О+Ф

2*О=С-Ф

О=(С-Ф)/2

Если вы мне объясните, откуда берётся это


var left_block = Math.round((getClientWidth() + 30500) / 42);

я пойду и напьюсь с горя

С8
На сайте с 23.08.2012
Offline
108
#13

Если честно, я в это не вникала, но то что здесь

var top_block = Math.round((getClientHeight() - 390) / 2);
var left_block = Math.round((getClientWidth() - 400) / 2);

390 - это высота, а 400 - это ширина формы, я в курсе. Но почему тогда код не срабатывет, ведь ширина страницы одинакова, как на главной, так и в разделах...

Попробовала поставить только вот этот участок вашего кода

function getClientWidth() {
var w = window;
d = document;
e = d.documentElement;
g = d.getElementsByTagName('body')[0];
return w.innerWidth || e.clientWidth || g.clientWidth;
}

function getClientHeight() {
var w = window;
d = document;
e = d.documentElement;
g = d.getElementsByTagName('body')[0];
return w.innerHeight|| e.clientHeight|| g.clientHeight;;
}

И все отлично заработало. Пробовала вставлять весь код и страница вообще не загружалась, только шапка, видимо, какая-то ошибка была. Спасибо!

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий