【问题标题】:How to code a JavaScript modal popup (to replace Ajax)?如何编写 JavaScript 模式弹出窗口(替换 Ajax)?
【发布时间】:2008-11-14 00:22:46
【问题描述】:

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

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

【问题讨论】:

    标签: javascript modalpopups


    【解决方案1】:

    我可以为您提供代码。进行必要的修改,好吗?

    页面 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>
    

    希望这能有所帮助。

    【讨论】:

      【解决方案2】:

      我使用了 simplemodal jQuery 插件,我对它非常满意。您可以查看here

      【讨论】:

        【解决方案3】:

        也许您正在寻找类似this 的东西? [ui.jquery.com]

        这是最简单的一种,可以与许多其他眼睛糖果捆绑在一起。当然你也可以看看jQuery plug-ins page的其余部分,特别是Windows and Overlays section

        【讨论】:

          【解决方案4】:

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2016-10-26
            • 1970-01-01
            相关资源
            最近更新 更多