私は、このjQuery関数を垂直中央モーダルに使用しています。ブートストラップモーダルの垂直センタリングの問題
var centeredModal = function() {
var modalVerticalCenterClass = ".modal";
function centerModals($element) {
var $modals;
if ($element.length) {
$modals = $element;
} else {
$modals = jQuery(modalVerticalCenterClass + ':visible');
}
$modals.each(function(i) {
var $clone = jQuery(this).clone().css('display', 'inline-block').appendTo('body');
var top = Math.round(($clone.height() - $clone.find('.modal-content').height())/2);
top = top > 0 ? top : 0;
$clone.remove();
jQuery(this).find('.modal-content').css({"margin-top": top, "transition" : "all 0.5s ease-in-out 0s"});
});
}
jQuery(modalVerticalCenterClass).on('show.bs.modal', function() {
centerModals(jQuery(this));
});
jQuery(window).on('resize', centerModals);
};
この機能は機能しますが、時には機能しません。
モーダルを閉じて複数回開くと、モーダルが正しく中央揃えされません。
問題は '$ clone.find('。modal-content ')。height()'ですか?
どうすれば修正できますか?
センタリング用にCSSを使用しないのはなぜですか? –
jqueryを使ってプロジェクトに必要です – speedy
jQueryプロジェクトを提示するのがベストではないかもしれません。 –