2013-04-23 3 views
-1

Это сценарий, который я сделал, чтобы сделать простой секундомер на моем веб-сайте, и я делаю это целую вечность, и в конце концов секундомер не изменит свои цифры он просто остается, как 00: 00: 00,00Я пытаюсь сделать простой секундомер, используя JavaScript

Это мой сценарий:

<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> 

Пожалуйста, помогите!

+3

Почему код отрезан? –

+0

Аналогичный вопрос: javascript - jquery: секундомер - переполнение стека http://stackoverflow.com/questions/10065222/jquery-stopwatch –

ответ

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;}; 

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

Это не то, как вы используете 'setTimeout'. –

+0

изменен на setInterval)) –

+0

любая причина делать 'function() {increment()}' вместо просто 'increment'? –

Смежные вопросы