Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Выравнивание всплывающего окна по центру экрана. (https://javascript.ru/forum/jquery/31430-vyravnivanie-vsplyvayushhego-okna-po-centru-ehkrana.html)

waw555 07.09.2012 11:52

Выравнивание всплывающего окна по центру экрана.
 
Вложений: 1
Здравствуйте, форумчане!

У меня есть проблема со скриптом, всплывающее окно на отрез отказывается выравниваться по центру экрана, все время смещено в плотную к левому краю.

Вот в этой функции идет расчет:

if (s == "center") {
                    s = Math.max((n.width() - p ) / 2, 0)
                }


Если в место р поставить 800 (Это ширина всплывающего окна), то всплывающее окно выравнивается по центру, если оставить р то смещено к левому краю.

Может в css нужно где то ширину задать?

Весь код скрипта во вложении, так как не хочет сюда вставлять более 10000 символов, а там 14000. :cray:

Возможно ли его уменьшить?

Заранее благодарю!!!

waw555 07.09.2012 11:54

Вот часть кода, где расчет идет, может поможет, чтобы не скачивать..

if (e) {
                    i.expose().load(u)
                }
                var t = k.top;
                var s = k.left;
                var p = i.outerWidth({
                    margin: true
                });
                var q = i.outerHeight({
                    margin: true
                });
                if (typeof t == "string") {
                    t = t == "center" ? Math.max((n.height() - q) / 2, 0) : parseInt(t, 10) / 100 * n.height()
                }
                if (s == "center") {
                    s = Math.max((n.width() - p) / 2, 0)
                }
                if (!k.absolute) {
                    t += n.scrollTop();
                    s += n.scrollLeft()
                }
                i.css({
                    top: t,
                    left: s,
                    position: "absolute"
                });

burashka 07.09.2012 15:43

вы уверены, что вам нужна "ширина элемента с учетом внутренних отступов, рамки (border-width) и при необходимости внешних отступов (margin)"? просто p = i.width() не подходит? и да, чему вообще оказывается равно p при таких расчетах?


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