【问题标题】:How to make a browser console wait in a javascript如何让浏览器控制台在 javascript 中等待
【发布时间】:2015-06-11 18:54:47
【问题描述】:

我正在尝试制作一个单击页面按钮的脚本,等待 X 秒(以使单击结果发生),然后继续。

我该怎么做? (只有等待部分)

【问题讨论】:

标签: javascript browser console wait


【解决方案1】:

使用 setTimeout,它只在提供的延迟后执行一次

setTimeout(function(){
  console.log('gets printed only once after 3 seconds')
  //logic
},3000);

使用 setInterval ,在提供的延迟后重复执行

setInterval(function(){
  console.log('get printed on every 3 second ')
},3000);

clearTimeoutclearInterval 用于清除它们!!!

【讨论】:

  • 这很好用!为了清楚起见,我建议在第二个示例的 console.log 之后插入“//logic”。此外,将有助于展示使用“clearTimeout”的语法示例。感谢您的出色回答。
  • 它在控制台中工作正常,但我想将它与 chrome 扩展脚本一起使用,它不能通过扩展脚本工作。
【解决方案2】:

您想使用setTimeout(),它在指定的延迟后执行代码 sn-p。:

var timeoutID;

function delayedAlert() {
  timeoutID = setTimeout(slowAlert, 2000);
}

function slowAlert() {
  alert("That was really slow!");
}

function clearAlert() {
  clearTimeout(timeoutID);
}
<p>Live Example</p>
<button onclick="delayedAlert();">Show an alert box after two seconds</button>
<p></p>
<button onclick="clearAlert();">Cancel alert before it happens</button>

或者您可以使用setInterval() 重复调用函数或执行代码 sn-p,每次调用该函数之间有固定的时间延迟:

function KeepSayingHello(){
  setInterval(function () {alert("Hello")}, 3000);
}
&lt;button onclick="KeepSayingHello()"&gt;Click me to keep saying hello every 3 seconds&lt;/button&gt;

【讨论】:

  • 第二部分是setInterval()吗?
  • 是的@Daniel,很抱歉这个错误。
【解决方案3】:

不知何故 setTimeout 对我没有任何作用。但是 window.setTimeout 可以。

window.setTimeout(function() {
  alert("Hello! This runs after 5 seconds delay!");
}, 5000);

【讨论】:

    猜你喜欢
    • 2018-01-31
    • 1970-01-01
    • 1970-01-01
    • 2012-04-02
    • 2017-08-31
    • 2019-05-26
    • 1970-01-01
    • 1970-01-01
    • 2011-03-30
    相关资源
    最近更新 更多