我需要在中间暂停JavaScript函数执行,然后在单击按钮后恢复它。请帮帮我。
答案 0 :(得分:1)
这是不可能的。
将函数分解为两部分,运行一部分,并将另一部分分配给按钮的单击事件处理程序。
答案 1 :(得分:1)
您可以使用弹出框。
alert("Pausing to get Coffee");
答案 2 :(得分:1)
** 已编辑 **在您添加了一些精确度之后
// pass the reference of the button id to the function
function showConfirm(message, callback) {
// 1. check if the lightbox is not already created, if not create it
// 2. keep a reference to your key elements, for example, your buttons
var btnOk = document.getElementById('btnOk'); // ...for example
var btnCancel = document.getElementById('btnCancel'); // ...for example
// 3. have a 'cleanup' function so you can dismiss your lightbox, unregister
// any events/callbacks, etc.
var cleanup = function() {
// 6. hide lightbox
// 7. remove events/callbacks, etc.
btnOk.click = null; // for example
btnCancel.click = null; // for example
// etc.
};
// 4. update your lightbox with the message given in argument
// 5. register some events to your buttons...
btnOk.click = function() {
callback(true); // ok was pressed
cleanup();
};
btnCancel.click = function() {
callback(false); // cancel was pressed
cleanup();
}
}
你必须要记住的是,在Javascript中,一切都应该是异步的。如果你的函数应该返回一个值,那么它应该是一个不需要很长时间才能执行的函数。一旦您使用Javascript阅读“用户输入”,您就需要回调。您可能想看看其他灯箱实现是如何完成的,尤其是在JQuery等框架中。