2017-02-13 17 views
0

Я делаю простой таймер в javaScript, который начинается, когда вы нажимаете в любом месте документа, и он сбрасывается при повторном нажатии.Таймер в javaScript не работает

var k = 0, 
    m = 0, 
    s = 0; 
document.onclick = 
    function() { 
    k = 0; 
    setTimeout(function() { 
     k++; 

     if (Math.floor(k/6000) > 1) { 
     m = Math.floor(k/6000); 
     s = Math.floor(k % 6000); 
     } else 
     s = Math.floor(k/100); 
     document.getElementById('input3').value = "0" + m + ":" + "0" + s + " " + k; 
    }, 10); 
    }; 

вход3 является идентификатором текстового поля в HTML в таймере, в котором отображается обратный отсчет

+3

Укажите «_doesnt work_». – Teemu

+1

'setTimeout()' запускает функцию, которая будет вызываться ** один раз **. Вы можете быть заинтересованы в связанной функции 'setInterval()'. – Pointy

+0

Спасибо всем –

ответ

1

setTimeout(function() { является проблемой, если вы хотите создать таймер, который вы должны использовать setInterval(function() {

setInterval будет выполнять после каждого «заданного времени», в то время как setTimeout будет запускать функцию только один раз после «заданного времени»

2

Возможно, вы хотите, чтобы setInterval вместо setTimeout.

Я сделал этот пример, который звучит так, как вы хотите. https://jsfiddle.net/5yke1hmp/

+0

Спасибо @joe_coolish за пример –

+0

@sanjaybisht Спасибо! Если вам это нравится, не возражаете ли вы выбрать его как правильный ответ и, возможно, дать ему преимущество? –