2015-04-30 5 views
0

У меня есть секундомер Javascript/HTML на моей странице, но он всегда автоматически запускается всякий раз, когда загружается страница. Я неграмотный Java, может ли кто-то настроить код так, чтобы он запускался только при нажатии кнопки «Пуск»?Javascript секундомер автоматически начинается

var h1 = document.getElementsByTagName('h1')[0], 
start = document.getElementById('start'), 
stop = document.getElementById('stop'), 
clear = document.getElementById('clear'), 
seconds = 0, minutes = 0, hours = 0, 
t; 

function add() { 
seconds++; 
if (seconds >= 60) { 
    seconds = 0; 
    minutes++; 
    if (minutes >= 60) { 
     minutes = 0; 
     hours++; 
    } 
} 

h1.textContent = (hours ? (hours > 9 ? hours : "0" + hours) : "00") + ":" + (minutes ? (minutes > 9 ? minutes : "0" + minutes) : "00") + ":" + (seconds > 9 ? seconds : "0" + seconds); 

timer(); 
} 
function timer() { 
t = setTimeout(add, 1000); 
} 
timer(); 


/* Start button */ 
start.onclick = timer; 

/* Stop button */ 
stop.onclick = function() { 
clearTimeout(t); 
} 

/* Clear button */ 
clear.onclick = function() { 
h1.textContent = "00:00:00"; 
seconds = 0; minutes = 0; hours = 0; 
} 
+0

Достаньте ваши вызовы для запуска таймера: таймера(); после вашего таймера функция. – LDJ

+0

Javascript! = Java, это два очень разных языка. –

+1

Java-неграмотный !!!, Javascript не имеет ничего похожего на Java –

ответ

2

Вы звоните timer() после определения функции .. удалить эту строку:

function timer() { 
t = setTimeout(add, 1000); 
} 
// timer(); // comment this line 
+0

также до – maioman

+1

Большое спасибо! –

+0

@maioman тот, который до этого вызывается внутри функции 'add'. –

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