我该如何调用第二个函数来操作点击
How would I call the second function to operate on click?
我希望我的20秒计时器在点击按钮时进行操作,同时发出20秒警报。我该怎么做?
HTML
<aside class="start-box">
<button type="submit" class="btn btn-primary btn-lg" id="toggleBtn" onclick="startClock();"></button>
</aside>
/*Alerts after 20 seconds*/
var alertTimerId = 0;
function startClock () {
setTimeout (gameOver(), 20000);
}
function gameOver ()
{
alert("The time is up!");
}
/*Counts down the timer in the countdown box for 20 seconds*/
var secondsLeft = 20;
var interval =
setInterval(function() {
document.getElementById('countdown').innerHTML = --secondsLeft;
if (secondsLeft <= 0)
{
document.getElementById('countdown').innerHTML = "Gotta catch em' all!";
clearInterval(interval);
}
}, 1000);
您可以简单地将这两个函数组合到一个setInterval
:中
var timer, secondsLeft;
function startClock () {
secondsLeft = 20;
timer = setInterval(function() {
document.getElementById('countdown').innerHTML = --secondsLeft;
if (secondsLeft <= 0)
{
document.getElementById('countdown').innerHTML = "Gotta catch em' all!";
clearInterval(timer);
alert('The time is up'); // alert is now here!
}
}, 1000);
};
<aside class="start-box">
<button type="submit" class="btn btn-primary btn-lg" id="toggleBtn" onclick="startClock();">Start</button>
</aside>
<div id='countdown'></div>
请注意,它不会发出警报,因为StackOverflow不允许在其代码段中出现alerts
。
它将在您的情况下或在JSFiddle工作。
相关文章:
- 如何在第一个函数完全完成后才运行第二个Javascript函数
- 添加第二个参数时,Javascript函数将停止工作
- Javascript函数未显示第二个表单名称
- 2 setTimeout函数第一个清除第二个javascript
- jQuery函数:为什么第一个事件的完成延迟到第二个事件完成
- 在第二个函数中检测第一个函数是否返回值
- 从一个页面调用 javascript 函数以在第二个页面上添加元素
- AngularJS:承诺链不延迟超过第二个函数
- 角度$scope首先设置值而不是服务,然后第二个函数调用一切正常
- 第二个函数忘记了所选值
- 如何将第二个函数绑定到 jQuery 验证提交处理程序
- 第二个Javascript函数抛弃了所有内容
- 运行 AJAX 函数的多个实例 - 仅第二个实例更新
- JavaScript 部分应用函数 - 如何仅绑定第二个参数
- 当第一个函数完成没有回调参数时执行第二个函数
- 为什么 AJAX 对第一个函数的响应“_blank”有效,但对第二个函数无效
- 何时适合将集合传递给主干模型构造函数第二个参数
- 执行两个onsubmit函数;第二个函数只在第一个函数为真时执行
- 调试Javascript中的回调函数:第二个函数未到达
- 定义javascript函数第二个参数的技术是什么以及为什么是未定义的