我正在尝试使用JavaScript制作一个简单的秒表

时间:2013-04-23 07:27:38

标签: javascript

这是我在网站制作一个简单的秒表的脚本,我已经做了很多年了,毕竟秒表不会改变它的数字,它只是保持00:00:00.00 < / p>

这是我的剧本:

<script>
    t  = 0;
    tt = 0;
    s  = 0;
    ss = 0;
    m  = 0;
    mm = 0;
    h  = 0;
    hh = 0;

    function increment() {
        t++;

        if (t  > 9) { t  = 0; tt++ };
        if (tt > 9) { tt = 0; s++  };
        if (s  > 9) { s  = 0; ss++ };
        if (ss > 5) { ss = 0; m++  };
        if (m  > 9) { m  = 0; mm++ };
        if (mm > 5) { mm = 0; h++  };
        if (h  > 9) { h  = 0; hh++ };
        if (hh > 9) { hh = 0;      };

        setTimeout(increment, 10);
    }

    increment();

    stopwatch = document.createElement("div");
    // stopwatch.setAttribute("class","stopwach") etc.
    stopwatch.innerHTML = '<h2>' + hh + h + ':' + mm + m + ':' + ss +
         s + '.' + tt + t + '</h2>';

    var maindivElement = document.getElementById("maindiv");
    var anchorElements = maindivElement.getElementsByTagName("a")…
    // maindivElement.insertBefore(stopwatch, etc.
</script>

请帮忙!

1 个答案:

答案 0 :(得分:0)

你的函数增量在循环中,但实际上并没有为UI做任何事情。

我认为应该看起来像:

function increment() {
    t++;
    if (t > 9) {t = 0; tt++};
    if (tt > 9) {tt = 0; s++};
    if (s > 9) {s = 0; ss++};
    if (ss > 5) {ss = 0; m++};
    if (m > 9) {m = 0; mm++};
    if (mm > 5) {mm = 0; h++};
    if (h > 9) {h = 0; hh++};
    if (hh > 9) {hh = 0;};

    $("div").html('<h2>' + hh + h + ':' + mm + m + ':' + ss + s + '.' + tt + t + '</h2>');
}
setInterval(increment,1000);