我創建了this clock,在空間保持期間應該暫停。但是我的Js技能非常糟糕,所以我有點失落。時鐘是1到5個時鐘。這意味着每秒鐘過去5秒鐘。當空間被保持時,讓我的1:5時鐘停止
var clock = new Clock("clock");
clock.start();
function Clock(id) {
var clock = this;
var timeout;
var time;
this.hours = 7;
this.minutes = 10;
this.seconds = 0;
this.stop = stop;
this.start = start;
var isStarted = true;
function Click() {
if (isStarted) {
stop();
}
else
{
start();
}
}
var element = document.getElementById(id);
function stop() {
clearTimeout(timeout);
}
function start() {
timeout = setTimeout(tick, 0);
time = Date.now();
}
function tick() {
time += 1000;
timeout = setTimeout(tick, time - Date.now());
display();
update();
}
function display() {
var hours = clock.hours;
var minutes = clock.minutes;
var seconds = clock.seconds;
hours = hours < 10 ? "0" + hours : "" + hours;
minutes = minutes < 10 ? "0" + minutes : "" + minutes;
seconds = seconds < 10 ? "0" + seconds : "" + seconds;
element.innerHTML = hours + ":" + minutes + ":" + seconds;
}
function update() {
var seconds = clock.seconds += 5;
if (seconds === 60) {
clock.seconds = 0;
var minutes = ++clock.minutes;
if (minutes === 60) {
clock.minutes = 0;
var hours = ++clock.hours;
if (hours === 24) clock.hours = 0;
}
}
}
}
真棒文件title =)ASCII加載器是最好的。 – Rudie 2014-10-19 18:32:16
哈哈。是啊!看起來很棒! :D – andreglud 2014-10-19 18:36:08
您正在尋找'onkeydown'和'onkeyup'事件,並且可能在'tick()'內部有一個'paused'標記。 (我最喜歡的功能也是!) – Rudie 2014-10-19 18:37:23