Javascript - setTimeout/setInterval 在函数前执行倒计时
Javascript - setTimeout/setInterval execute countdown before the function
我有一个定时器,它使用 setTimeout 或 setInterval 每 3 秒触发一个函数。关键是我需要在函数之前执行倒计时,而不是先执行函数再执行定时器。
这是代码:
var timer;
document.getElementById('myBtn').addEventListener('mousedown', function (){
timer = setInterval(alert("Ey, release the button!"), 3000);
});
这应该是操作顺序:
- 点击并按住按钮。
- 开始倒计时...3、2、1...
- 触发功能。
做类似的事情
var timer;
document.getElementById('myBtn').addEventListener('mousedown', function (){
timer = setTimeout(function(){
alert("Ey, release the button!");
}, 3000);
});
您可以在计时器结束时触发另一个函数。因为你只需要调用一次..你可以只使用 setTimeout
document.getElementById('myBtn').addEventListener('mousedown', function (){
alert("Ey, release the button!")
setTimeout(fireMe, 3000);
});
function fireMe() {
// Boom
}
您可能还想在 mouseup 事件上添加 clearTimeout。
我有一个定时器,它使用 setTimeout 或 setInterval 每 3 秒触发一个函数。关键是我需要在函数之前执行倒计时,而不是先执行函数再执行定时器。
这是代码:
var timer;
document.getElementById('myBtn').addEventListener('mousedown', function (){
timer = setInterval(alert("Ey, release the button!"), 3000);
});
这应该是操作顺序:
- 点击并按住按钮。
- 开始倒计时...3、2、1...
- 触发功能。
做类似的事情
var timer;
document.getElementById('myBtn').addEventListener('mousedown', function (){
timer = setTimeout(function(){
alert("Ey, release the button!");
}, 3000);
});
您可以在计时器结束时触发另一个函数。因为你只需要调用一次..你可以只使用 setTimeout
document.getElementById('myBtn').addEventListener('mousedown', function (){
alert("Ey, release the button!")
setTimeout(fireMe, 3000);
});
function fireMe() {
// Boom
}
您可能还想在 mouseup 事件上添加 clearTimeout。