【问题标题】:how to center modal window with body hidden after scroll?如何在滚动后使主体隐藏的模态窗口居中?
【发布时间】:2013-05-04 16:38:49
【问题描述】:

我有模型对话框,而模型对话框打开设置主体overflow:hidden 这使得模型窗口只显示一半。 onclose 重置正文溢出。

正文高度大于窗口大小,并且在打开模式对话框之外滚动了一些位置。

如何获得中心显示模态对话框?

【问题讨论】:

  • 你用什么库来做模态的?

标签: javascript jquery html css modal-dialog


【解决方案1】:

作为一个选项,您可以创建函数来根据窗口大小定位模态框,如下所示:

类似这样的:

    function repositionModal(modal){
    var windowW = $(window).width(),
        windowH = $(window).height(),
        modalW = modal.width(),
        modalH = modal.height();

    if (modalW>windowW) modal.width(windowW);
    if (modalH>windowH) modal.height(windowH);
    modal.css({
        "top": (windowH-modalH)/2)+"px",
        "left": (windowW-modalW)/2)+"px"
    });
    }

然后在调用 modal 时调用此函数,并且可能也在窗口调整大小时调用此函数

$(window).resize(function(){
     if($(".my-modal").is(:visible)){
         repositionModal($(".my-modal"))
     }
})

【讨论】:

  • 我想阻止正文滚动,但模式窗口应该滚动
  • 我以为你已经有了解决方案 - 将正文设置为溢出:隐藏,问题是使模态对话框居中
  • 是的,我想让模型对话框居中
猜你喜欢
  • 2013-03-23
  • 1970-01-01
  • 2013-10-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-07
  • 1970-01-01
  • 2020-07-01
相关资源
最近更新 更多