在多个警报和提示后面使用计时器
Using timer behind multiple alerts and prompts
我有一个只使用纯javascript制作的游戏。它不是GUI,而是更像旧的命令行游戏,并使用输入提示。
它的主要组成部分之一是时钟,它以小时表示,可以用逗号"time"进行检查,并告诉它们变量"time"的值。这是代码:
var timestrt = 1;
var timer = setInterval(function(){timestrt++;return timestrt;}, 86000); var time = timestrt;
测试后,我意识到时钟没有改变。所以我将其设置为 10 秒而不是 86 秒,以确保我等待的时间足够长,但它仍然不想工作
我知道这可能是由及时和持续的警报引起的,但我甚至不确定从哪里开始寻求解决方法。有什么想法吗?
编辑:是否可以
1. 从外部页面
检索计时器2. 将其与实际时钟实时或
3.在后台使用动画 gif 时钟并计算某些像素的位置作为时间?
不要使用本机提示和对话框,因为它们会停止脚本执行时间。而是使用模拟的,例如jQuery IU具有不会停止执行的提示和对话框。下面是一个示例:
$(function() {
$( "#dialog" ).dialog();
var timestrt = 1;
var timer = setInterval(function(){
timestrt++;
var time = timestrt;
$("#time").text(time);
}, 1000);
});
这是我的解决方法:
在启动提示之前调用此代码:
function initTime() {
var now = new Date();
stS = now.getSeconds();
stM = now.getMinutes();
stH = now.getHours();
}
在提示完成后调用:
function computeTime() {
var now = new Date();
var reS = now.getSeconds();
var reM = now.getMinutes();
var reH = now.getHours();
var elapS = reS - stS;
var elapM = reM - stM;
var elapH = reH - stH;
if (elapM < 0) {
reM = reM + 60;
elapM = reM - stM;
}
if (elapS < 0) {
reS = reS + 60;
elapS = reS - stS;
}
然后我将其转换为秒,以便于检查:
var finalH = elapH * 3600;
var finalM = elapM * 60;
var finalS = finalM + elapS + finalH;
并根据经过的 86 秒组数检查/更改时间变量:
if (finalS > 86 && finalS < 172) {
time = 1;
}
if (finalS > 172 && finalS < 258) {
time = 2;
}
if (finalS > 258 && finalS < 344) {
time = 3;
}
if (finalS > 344 && finalS < 430) {
time = 4;
}
if (finalS > 430 && finalS < 516) {
time = 5;
}
if (finalS > 516) {
time = 6;
alert('5 A.M.');
alert('A clock is chiming...');
alert('6 A.M.');
playing = false;
alert('Thanks for playing! Goodbye!');
}
这是我在多个提示和警报后面使用设置间隔/计时器的替代方案。最后一部分可能不需要,但由于它回答了我最初的问题,所以我把它包括在内。
相关文章:
- 如何在窗体打开时从javascript倒计时计时器值中节省时间
- 设置倒计时计时器,IE出现问题
- MobileFirst:在客户端运行计时器作业-最佳选项
- 显示具有服务器端自动时间注销的同步倒计时计时器
- 倒计时计时器应该持续两个php页面
- 在Jquery倒计时计时器上设置每个数字的动画
- 我如何才能确保计时器设置为每天4点半,所以我不会;不用在Javascript中提及某个日期
- 如何禁用窗口.当计时器超时时,打开卸载警报
- 在Nodejs中为许多用户处理计时器
- 如果弹出窗口关闭,Javascript停止/重置计时器
- 如何在隐藏时暂停jquery计时器
- Javascript倒计时计时器倒计时未正确更新秒/分钟
- 计时器循环从不运行
- Progressbar计时器,仅在页面刷新时重新加载
- 创建一个倒计时计时器脚本,该脚本计算声音文件的持续时间,而不是特定的日期
- 递归倒计时计时器
- Jquery时间启动计时器,我有一个计时器的代码,但它在页面加载时启动
- 根据计时器自动提交提示()弹出窗口
- 在多个警报和提示后面使用计时器
- 简单的JavaScript提示倒数计时器