Метод 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();
}

0 ответов

Другие вопросы по тегам