Центрирование xul диалога на экране - PullRequest
2 голосов
/ 23 октября 2009

В диалоговом окне я изменяю размеры некоторых изображений и затем заставляю окно sizeToContent. Затем я хочу, чтобы диалог центрировался на экране. Как я могу это сделать?

Ответы [ 3 ]

2 голосов
/ 29 декабря 2009

Я также искал и искал в MDC все, что могло бы отцентрировать его, но ничего не нашел, поэтому я создал это! Это будет работать как с окном, так и с диалогом.

var w=(screen.availWidth/2)-(document.getElementById('windowID').width/2);

var h=(screen.availHeight/2)-(document.getElementById('windowID').height/2);

window.moveTo(w,h);

Единственное, что вы должны изменить, это windowID на значение идентификатора вашего окна. Он будет работать на всех разрешениях экрана, так как он принимает общую ширину и высоту экрана, а затем делит его пополам, таким образом, давая центр экрана, затем вычитает ваши настройки ширины и высоты, чтобы учесть их, но также делит их пополам окно без смещения не будет отцентрировано.

Надеюсь, это помогло!

1 голос
/ 28 октября 2009
Элемент

A <dialog> определяет для вас удобные методы moveToAlertPosition () и centerWindowOnScreen (), а также копирует их в глобальную область видимости, поэтому вам не нужно определять их с помощью document.documentElement.

1 голос
/ 23 октября 2009

Конечным результатом будет окно, которое само перемещается? Пожалуйста, не делайте это слишком раздражающим:)

В любом случае вам придется делать это вручную, используя window.moveTo и различные свойства screen (см. https://developer.mozilla.org/en/DOM/window)

Вот интересный пример, хотя он не центрирует окно, он обеспечивает его видимость: http://www.koders.com/javascript/fid3F51B87DFD457428278627805CCA8D39ADC13455.aspx?s=window#L3

...