2

私は e ラーニング フレームワークの適応に取り組んでおり、notify-popup(div) を垂直方向に中央揃えにしようとしています。このために、notify-popup の高さを必要とする js を介してトップ マージンを設定するので、 を使用して高さを取得し$('.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