Метод Jquery height() не возвращает правильную высоту div при рендеринге в первый раз
Я работаю над адаптацией системы электронного обучения и пытаюсь выровнять по центру notify-popup(div) по вертикали. Для этого я установил верхнее поле через js, которое требует высоты notify-popup, поэтому я получаю его высоту, используя $('.notify-popup').height(true)
, В первый раз, когда он загружается, он возвращает высоту "x", но если я снова вызываю функцию, не перезагружая страницу, он возвращает новую высоту с добавлением 16px к ней "x+16". Чтобы включить все отступы и поля, которые я использовал outerHeight(true)
но это также не работает. Метод jquery height() исключает или пропускает что-то в расчете высоты во время предварительного рендеринга страницы? Возвращает правильную высоту при вызове функции resetNotifySize после первоначального отображения страницы.
setupEventListener: function() {
this.listenTo(Adapt, 'device:resize', this.resetNotifySize);
}
showNotifyOnPageLoaded: function() {
this.resizeNotify();
}
resizeNotify: function() {
var notifyHeight = this.$('.notify-popup').outerHeight(true);
this.$('.notify-popup').css({
'margin-top': (-(notifyHeight / 2))
});
}
resetNotifySize: function() {
console.log('resizeNotify called through resetNotifySize');
this.resizeNotify();
}