如何使代码在单击按钮后等待 X 秒,然后再继续
How to make code wait X seconds after clicking a button before continuing?
我正在尝试制作一个脚本,单击页面按钮,等待 X 秒(单击结果发生),然后继续。
如何实现等待部分?
使用 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);
clearTimeout
和clearInterval
用于清除它们!!
你想使用setTimeout()
在指定的延迟后执行代码片段。
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()
来调用函数或重复执行代码片段,每次调用该函数之间具有固定的时间延迟:
function KeepSayingHello(){
setInterval(function () {alert("Hello")}, 3000);
}
<button onclick="KeepSayingHello()">Click me to keep saying hello every 3 seconds</button>
不知何故,setTimeout 对我没有任何作用。但是window.setTimeout确实如此。
window.setTimeout(function() {
alert("Hello! This runs after 5 seconds delay!");
}, 5000);
相关文章:
- 多个下载链接到一个zip文件,然后再下载javascript
- 使用Angular存储用户以前是否选中过复选框,然后再调用它的最佳方式是什么
- 如何在VB中先执行客户端代码,然后再执行服务器端代码
- 我如何从字符串中选出第一个单词的第一个字母,然后再选出第二个单词
- Javascript:将多个表打印成一行,然后再打印
- jquery通过ajax验证电子邮件,然后再通过ajax提交表单
- 先在Angular中加载配置文件,然后再加载其他文件
- 等待函数执行后再继续
- 等待 AJAX,然后再继续执行单独的函数
- 使用生成器等待输入,然后再继续 forEach 循环的主体
- 等待多个 ipc 调用完成,然后再继续电子/冗余
- 如何等待findOneAndUpdate完成,然后再继续async.series
- 等待 API 调用在 Javascript 中完成,然后再继续
- Angular2 可观察 - 等待多个函数调用,然后再继续
- 等待方法的响应,然后再继续而不使用 SJAX
- 等待 .each 完成,然后再继续 (jQuery)
- JavaScript等待,直到一个图像完全加载,然后再继续脚本
- 在Javascript中,如何使用ajax调用等待一个函数完成,然后再继续使用另一个函数
- 等待按钮单击,然后再继续
- 如何使代码在单击按钮后等待 X 秒,然后再继续