Задать вопрос
@AlShest

Как центрировать модальное окно BX.PopupWindow?

На странице установлен компонент - модальное окно. Форма расположена не в начале, а внизу страницы. Из-за этого возникли проблемы с расположением модального окна.
Если установить значение offsetTop: window.pageYOffset, то модальное окно открывается слишком низко, вплотную к футеру. А если 0, то открывается в самом начале страницы. Мне необходимо, чтобы окно открывалось по центру страницы при её текущем положении.

<script>
			BX.ready(function(){
				var m_popup = BX.PopupWindowManager.create('sender_subscribe_component', window.body, {
					autoHide: true,
                    width: 320,
                    offsetTop: window.pageYOffset,
					offsetLeft: (document.body.clientWidth - 400)/2,
					lightShadow: true,
					closeIcon: true,
					closeByEsc: true,
					overlay: {
						backgroundColor: 'rgba(0,0,0,0.82)', opacity: '80', width: '100%'
					}
				});
				m_popup.setContent(BX('sender-subscribe-response-cont'));
				m_popup.show();
			});
		</script>
  • Вопрос задан
  • 1051 просмотр
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
  • Skillbox
    JavaScript
    3 месяца
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Решения вопроса 1
Центрировать popup можно с помощью его методов adjustPosition и resizeOverlay;
Например так:
var popup = BX.PopupWindowManager.create("sender_subscribe_component", null, {
    autoHide: true,
    offsetLeft: 0,
    offsetTop: 0,
    overlay: true,
    closeByEsc: true,
    events: {
        onAfterPopupShow: function () {
            popup.adjustPosition();
            popup.resizeOverlay();
        }
    }
});

popup.show();
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы