使用Javascript制作计时器,从00:00:00开始

时间:2015-05-26 19:14:05

标签: javascript jquery html timer

使用以下代码

function clock(){
    /*var message = document.getElementById("timer");
    message.innerHTML = "The time is " + Date();
    */
    var msec = 00;
    var sec = 00;
    var min = 00;

    msec += 1;
    console.log(min + ":" + sec + ":" + msec);
    if (msec == 60) {
        sec += 1;
        msec = 00;
        console.log(min + ":" + sec + ":" + msec);
        if (sec == 60) {
            sec = 00;
            min += 1;
            console.log(min + ":" + sec + ":" + msec);
            if (sec % 2 == 0) {
                alert("Pair");
            }
        }
    }
    document.getElementById("timer").innerHTML = min + ":" + sec + ":" + msec;
}

我想要做的是一个简单的计时器,它从一个窗口加载开始,每个milisec它增加到60,然后重置为0并将秒加上1秒,当秒达到60时,变为0并将分钟增加1.分类就像秒表。

我似乎没有正确递增,但我不知道如何增加它。

我用setInterval调用函数,我不知道它是否正确:

var  timer = setInterval(clock(), 1000);

1 个答案:

答案 0 :(得分:5)

您需要将函数引用传递给setInterval,目前您传递clock()的返回值undefined,因此它没有任何影响。

此外,您需要在msec函数旁边声明secminclock()个变量。

var timer = setInterval(clock, 1000);
var msec = 00;
var sec = 00;
var min = 00;

var timer = setInterval(clock, 1000);
var msec = 00;
var sec = 00;
var min = 00;

function clock() {
	msec += 1;
	if (msec == 60) {
		sec += 1;
		msec = 00;
		if (sec == 60) {
			sec = 00;
			min += 1;
			if (sec % 2 == 0) {
				alert("Pair");
			}
		}
	}
	document.getElementById("timer").innerHTML = min + ":" + sec + ":" + msec;
}
<div id="timer"></div>