【问题标题】:disable background in jquery popup在 jquery 弹出窗口中禁用背景
【发布时间】:2026-02-04 02:55:01
【问题描述】:

好的,所以我这里有这个 sn-p http://jsfiddle.net/8vFEd/

每当弹出窗口出现时,我要么想禁用背景,以便用户在关闭第一个弹出窗口之前无法点击另一种语言,要么我将如何实现这一点,每当用户点击第二种语言时,第一个弹出窗口消失,并出现相应的弹出窗口。

【问题讨论】:

    标签: javascript jquery html css modalpopup


    【解决方案1】:

    我的建议是在背景上放置一个叠加层,以“捕捉”到页面其余部分的点击。在<div class='lang'> append 调用之前,将以下内容添加到您的 $('.prop a').click() 函数中:

    $("body").append('<div class="modalOverlay">');
    

    这是你的CSS:

    .modalOverlay {
        position: fixed;
        width: 100%;
        height: 100%;
        top: 0px;
        left: 0px;
        background-color: rgba(0,0,0,0.3); /* black semi-transparent */
    }
    

    然后在处理“关闭”点击的代码中,从 DOM 中删除这个 .modalOverlay。请记住在弹出窗口之前添加叠加层,使其位于窗口后面(或将“z-index:5”添加到您的叠加层 css 和“z-index:6”到您的弹出 css)

    我还建议将您的 .lang css 规则修改为 position: absolute;fixed 而不是 relative。

    【讨论】:

      【解决方案2】:

      在你的 onclick 开头添加这个

      $(".lang").remove();
      

      这将在用新的 DOM 重新绘制 DOM 之前使用 lang 类删除或清除 div。

      【讨论】: