在javascript中提醒功能

时间:2013-12-18 09:39:39

标签: javascript

我想在javascript中创建一个模态弹出窗口。
但我的要求是每当弹出窗口打开时,它将停止执行下一个javascript行,直到它关闭。

例如。

var bool = false;
DisplayModal("Show Message");
bool = true;
alert("alerted only after closing the pop up : bool = true");
bool = false;

所以直到我关闭"Show Message" bool的模态弹出窗口才不会是真的。当我关闭弹出窗口时,剩余的脚本将在DisplayModal ...

之后按顺序运行

alert类似,但我不想覆盖alert ..

我需要一些帮助,提前谢谢......

修改:

尝试解释一下......

我希望在DisplayModal调用时停止执行 停止执行
然后弹出显示
弹出窗口从下一行继续关闭(表示:bool = true; ...

4 个答案:

答案 0 :(得分:2)

如果要自定义对话框的外观,可以使用jQuery的对话框小部件。它支持事件。我举了一个简单的例子:http://jsfiddle.net/5CBdm/

您可以将事件处理程序附加到对话框的close事件,并将其余代码放在事件处理程序中。

所需的HTML:

<div id="dialog-modal" title="Modal dialog">
    <p>Message</p>
</div>

和相应的Javascript:

$("#dialog-modal").dialog({
    height: 140,
    modal: true,
    close: function (event, ui) {
        alert("Executed when the dialog is closed.");
    }    
});

对话框的链接:

http://jqueryui.com/dialog/#modal

http://api.jqueryui.com/dialog/#event-close

答案 1 :(得分:1)

您可以使用jQuery插件。例如http://dimsemenov.com/plugins/magnific-popup/

或者你可以自己制作(在jsfiddle上试试:http://jsfiddle.net/T2Vn3/):

<div class="overlay">
    <div class="alert">
        This is alert!
        <br/>
        <button>OK</button>
    </div>
</div>

<button class="forAlert">Click me!</button>

JS:

document.querySelector('.alert button').addEventListener('click', function () {
    document.querySelector('.overlay').style.display = 'none';
}, false);

document.querySelector('.forAlert').addEventListener('click', function () {
    document.querySelector('.overlay').style.display = 'block';
});

答案 2 :(得分:0)

听起来像是confirm

的工作
(function() {
var result = confirm("I'm Happy?");
alert(result ? "Yes, I'm happy" : "No, I'm not happy");
}());

确认将阻止当前执行的线程,直到返回结果

答案 3 :(得分:0)

alert,prompt,confirm和XMLHTTPRequest是JavaScript中唯一的同步函数。你必须使用事件和回调。

如果您希望用户在关闭弹出窗口之前无法执行任何操作,则可以使透明div恢复所有页面(弹出窗口除外...)。