Javascript 占用空间时,让我的1:5时钟停止

Javascript 占用空间时,让我的1:5时钟停止,javascript,Javascript,我已经创建了,当空间被保持时应该暂停。但是我的Js技能非常差,所以我有点迷路了。时钟是1点到5点。也就是说,时钟每过一秒,就要过5秒 var时钟=新时钟; 时钟启动; 函数时钟ID{ var时钟=此; var超时; var时间; 这个小时=7; 这1.5分钟=10; 这1.5秒=0; this.stop=停止; this.start=start; var isStarted=真; 功能点击{ 如果开始{ 停止 } 其他的 { 开始 } } var element=document.getElem

我已经创建了,当空间被保持时应该暂停。但是我的Js技能非常差,所以我有点迷路了。时钟是1点到5点。也就是说,时钟每过一秒,就要过5秒

var时钟=新时钟; 时钟启动; 函数时钟ID{ var时钟=此; var超时; var时间; 这个小时=7; 这1.5分钟=10; 这1.5秒=0; this.stop=停止; this.start=start; var isStarted=真; 功能点击{ 如果开始{ 停止 } 其他的 { 开始 } } var element=document.getElementByIdid; 功能停止{ clearTimeouttimeout; } 功能启动{ 超时=setTimeouttick,0; 时间=日期。现在; } 功能记号{ 时间+=1000; timeout=setTimeouttick,time-Date.now; 陈列 使现代化 } 功能显示{ var小时=时钟小时数; var分钟=clock.minutes; var秒=时钟秒; 小时数=小时数<10?0+小时数:+小时数; 分钟=分钟<10?0+分钟:+分钟; 秒=秒<10?0+秒:+秒; element.innerHTML=小时+:+分钟+:+秒; } 功能更新{ var秒数=时钟秒数+=5; 如果秒===60{ 时钟秒=0; var分钟数=++时钟分钟数; 如果分钟===60{ clock.minutes=0; 变量小时数=++时钟小时数; 如果小时数===24小时。小时数=0; } } } } 使用空格键:关键事件可能是按键,这是最好的 按住空格键的东西:没有按键,但有向下键和向上键 暂停计时器:清除+重置或暂停标志 更新计时器/计时器,使其仅在未暂停时闪烁:

var paused = false;
function tick() {
    time += 1000;
    timeout = setTimeout(tick, time - Date.now());
    if ( !paused ) {
        display();
        update();
    }
}
然后设置暂停标志:

我不确定时间,因为您使用的是Date.now和setTimeout,所以这可能会使它在onkeyup之后跳转。我相信你能猜出那部分。这毕竟是你的代码

您的“类”有一个非常奇怪的作用域,因此tick无法通过此访问对象属性。示例显示了使用公共方法更改私有属性:


如果你想创建一个类,你应该使用JS prototype,这样就可以了,而且你不会为每个实例重新定义新的私有方法:

Awesome document title=ASCII加载器是最好的。哈哈。赞成!看起来棒极了DYou正在查找onkeydown和onkeyup事件,并且可能在勾号内有一个暂停标志。我最喜欢的函数名也是!嗯。但我不知道如何在这种情况下使用它们:/所以它的结果是这样的:文件更新为:www.andrebertel.com/mbb/started您有2个勾号函数。在对象构造函数中添加事件侦听器通常不是一个好主意。
document.onkeydown = function(e) {
    if ( e.keyCode == 32 ) {
        paused = true;
    }
}
document.onkeyup = function(e) {
    paused = true;
}