9

我需要用等效的 JavaScript 替换我们的Ajax Modal Popup 控件。我们将其用作简单的上下文相关帮助类型弹出窗口。我快速浏览了一下,但没有看到我要找的东西。我只需要一些文本和一个简单的关闭按钮/链接,但我希望页面在弹出窗口下方变暗,就像使用 Ajax 模态控件一样。

谁能推荐一个你用过的不错的 JavaScript 弹出/帮助类型解决方案?

4

4 回答 4

25

我可以给你代码。根据需要进行修改,好吗?

页面 JavaScript:

function myPop() { 
    this.square = null;
    this.overdiv = null;

    this.popOut = function(msgtxt) {
        //filter:alpha(opacity=25);-moz-opacity:.25;opacity:.25;
        this.overdiv = document.createElement("div");
        this.overdiv.className = "overdiv";

        this.square = document.createElement("div");
        this.square.className = "square";
        this.square.Code = this;
        var msg = document.createElement("div");
        msg.className = "msg";
        msg.innerHTML = msgtxt;
        this.square.appendChild(msg);
        var closebtn = document.createElement("button");
        closebtn.onclick = function() {
            this.parentNode.Code.popIn();
        }
        closebtn.innerHTML = "Close";
        this.square.appendChild(closebtn);

        document.body.appendChild(this.overdiv);
        document.body.appendChild(this.square);
    }
    this.popIn = function() {
        if (this.square != null) {
            document.body.removeChild(this.square);
            this.square = null;
        }
        if (this.overdiv != null) {
        document.body.removeChild(this.overdiv);
        this.overdiv = null;
        }

    }
}

现在是 HTML 页面,使用 JavaScript 文件:

<html> 
  <head>
    <script type="text/javascript" src="NAME OF THE PAGE!.js"></script>
    <style>
        div.overdiv { filter: alpha(opacity=75);
                      -moz-opacity: .75;
                      opacity: .75;
                      background-color: #c0c0c0;
                      position: absolute;
                      top: 0px;
                      left: 0px;
                      width: 100%; height: 100%; }

        div.square { position: absolute;
                     top: 200px;
                     left: 200px;
                     background-color: Menu;
                     border: #f9f9f9;
                     height: 200px;
                     width: 300px; }
        div.square div.msg { color: #3e6bc2;
                             font-size: 15px;
                             padding: 15px; }
    </style>
  </head>
  <body>
    <div style="background-color: red; width: 200px; height: 300px;
                padding: 20px; margin: 20px;"></div>

    <script type="text/javascript">
        var pop = new myPop();
        pop.popOut("Jose leal");
    </script>
  </body>
</html>

希望这能有所帮助。

于 2008-11-14T02:00:32.530 回答
7

我使用了 simplemodal jQuery 插件,我对它非常满意。你可以在这里查看

于 2008-11-14T01:44:50.487 回答
0

也许你正在寻找这样的东西?[ui.jquery.com]

这是最简单的一种,可以与许多其他眼睛糖果捆绑在一起。当然,您也可以查看jQuery 插件页面的其余部分,特别是Windows 和 Overlays 部分

于 2008-11-14T01:42:45.077 回答
0

我开发了一个名为Msg的 javascript 库。它允许轻松创建模态窗口/弹出窗口。它在其后面创建一个叠加层,使背景变暗。它没有关闭按钮,但可以通过单击背景覆盖来关闭。

于 2017-07-28T01:52:13.853 回答