2

我正在研究适应电子学习框架,我正在尝试垂直居中对齐通知弹出(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();
}

4

0 回答 0