【问题标题】:Popup without background scroll on JqueryMobile在 JqueryMobile 上没有背景滚动的弹出窗口
【发布时间】:2013-12-06 00:33:29
【问题描述】:

我有一个带有半透明背景颜色的大型 JqueryMobile Popup。 比如:

<div data-role="popup" id="popupBasic">
    <p>SOMETHING BIG</p>
</div>

#popupBasic{
background-color:rgba(0,0,0,0.5);
}

现在我可以在弹出窗口内滚动(因为太大而无法在屏幕上显示)但我不想在页面的其余部分滚动(我可以看到因为背景是透明的)

【问题讨论】:

    标签: jquery html css jquery-mobile mobile


    【解决方案1】:

    当您激活弹出窗口时,在您的 CSS 中设置 body { overflow: hidden; }。这将导致页面冻结,并且不允许用户滚动。不过,请记住在关闭弹出窗口时重新激活它!

    【讨论】:

    • 没用,导致所有页面冻结,包括弹出窗口,我想滚动进去。
    • body { overflow: hidden; } 仅影响正文,它将保持弹出窗口不变。你能帮我重现这个问题吗?
    • 我设法做到了这种方式。当弹出窗口打开时,我通过 JQuery 位置设置:固定到页面的 div 并在弹出窗口关闭后删除。感谢您的帮助!
    【解决方案2】:

    我遇到了和你一样的问题,我想你是用 ajax 调用你的弹出窗口,如果是,那么

    这样的代码

    function ajaxFunction(gotid){
    $('body').css("overflow","hidden");  // <----- like this 
    $.ajax({
    .... the rest of your code
    

    会帮助你,为了安全起见,你可以通过让你的关闭函数像这样来设置它

    function closeme(){
    $('body').css("overflow","scroll");  // <----- will set it back to scrollable 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-11
      • 1970-01-01
      • 2011-04-25
      相关资源
      最近更新 更多