暂停JavaScript功能

时间:2010-08-21 12:23:19

标签: javascript

我需要在中间暂停JavaScript函数执行,然后在单击按钮后恢复它。请帮帮我。

3 个答案:

答案 0 :(得分:1)

这是不可能的。

将函数分解为两部分,运行一部分,并将另一部分分配给按钮的单击事件处理程序。

答案 1 :(得分:1)

您可以使用弹出框。

alert("Pausing to get Coffee");

答案 2 :(得分:1)

像大卫说的那样,不可能在Javascript中停止执行某个功能(好吧,不管怎么说)。一个解决方案是:

** 已编辑 **在您添加了一些精确度之后

// 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等框架中。