0

我有一个时钟应用程序,我可以多次运行,但是每次我再次启动应用程序时,前一个都会停止。我想我应该使用目标?哦这个。但我不知道应该在函数中的哪个位置使用它。

时钟的功能。

function myFunction() {
    startClock();

    function startClock() {
        var digits = new Array("zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine");
        var h = new Date().getHours().toString();
        var m = new Date().getMinutes().toString();
        var s = new Date().getSeconds().toString();
        var t = ((h > 9 ? h : "0" + h) + (m > 9 ? m : "0" + m) + (s > 9 ? s : "0" + s));

        hours.appendChild(hour1).className = "clock-digit-" + digits[t.substring(0, 0 + 1)];
        hours.appendChild(hour2).className = "clock-digit-" + digits[t.substring(1, 1 + 1)];
        minutes.appendChild(minute1).className = "clock-digit-" + digits[t.substring(2, 2 + 1)];
        minutes.appendChild(minute2).className = "clock-digit-" + digits[t.substring(3, 3 + 1)];
        seconds.appendChild(sec1).className = "clock-digit-" + digits[t.substring(4, 4 + 1)];
        seconds.appendChild(sec2).className = "clock-digit-" + digits[t.substring(5, 5 + 1)];

        t = setTimeout(function () {
            startClock()
        }, 1000);
    }
}

我创建了一个 jsFiddle http://jsfiddle.net/dymond/nufwb/

但是,当您按下 test 两次 prev 时,您会注意到。时钟停止...

4

1 回答 1

0

尝试在myFunction().

var t1 = setTimeout(function(){startClock()},1000);
var t2 = setTimeout(function(){startClock()},2000);

您现在所做的是每次运行时都会覆盖以前的时钟myFunction()

于 2013-02-12T11:56:01.980 回答