Javascript - setTimeout / setInterval在函数之前执行倒计时

时间:2015-11-22 14:42:10

标签: javascript timer settimeout setinterval

我有一个定时器,它使用setTimeout或setInterval每3秒触发一次函数。关键是我需要在函数之前执行倒计时,而不是先执行函数然后执行计时器。

这是代码:

var timer;

document.getElementById('myBtn').addEventListener('mousedown', function (){
    timer = setInterval(alert("Ey, release the button!"), 3000);
});

这应该是行动的顺序:

  1. 点击并按住按钮。
  2. 开始倒计时...... 3,2,1 ......
  3. 触发功能。

2 个答案:

答案 0 :(得分:2)

您可以在计时器结束时触发另一个功能。因为您只需要调用一次..您可以使用 setTimeout

document.getElementById('myBtn').addEventListener('mousedown', function (){
    alert("Ey, release the button!")
    setTimeout(fireMe, 3000);
});

function fireMe() {
    // Boom
}

您可能还想在mouseup事件上添加 clearTimeout

答案 1 :(得分:1)

执行类似

的操作
{{1}}
相关问题