2016-11-06 19 views
2

Я написал очень простой код, который должен представлять секундомер с двумя кнопками, где нажатие «Пуск» должно начинаться с отметки вверх с 0 с 1 секундой задержки.Почему этот простой секундомер JavaScript не работает?

Однако, когда я нажимаю, ничего не меняется. Где моя ошибка?

"use strict"; 
 
var s = 1; 
 

 
function mf() { 
 
    setInterval(function() { 
 
    document.getElementById("#sw").innerText = ++s; 
 
    }, 1000); 
 
}
<div id="sw">0</div> 
 
<input type="button" value="Start" name="start" onlick="mf" /> 
 
<input type="button" value="Stop" name="stop" />

+5

Не используйте хэш в getElementById, это не jQuery –

+2

Вам нужно вызвать функцию onclick. 'onclick =" mf "' должен быть 'onclick =" mf() "'. – nem035

+2

И это не onlick, это onclick. На лизать что-то еще :) –

ответ

3

У вас есть две проблемы:

1): Вы используете

onlick="mf" 

Однако, это должно быть:

onclick="mf();" 

2): Вы использовали # в своем 'getElementByID'. Это не jQuery- использование

document.getElementById("sw") 

Работа ответа

"use strict"; 
 
var s = 1; 
 

 
    function mf() { 
 
    setInterval(function() { 
 
    document.getElementById("sw").innerText = s++; 
 
    }, 1000); 
 
}
<div id="sw">0</div> 
 
<input type="button" value="Start" name="start" onclick="mf();" /> 
 
<input type="button" value="Stop" name="stop" />

Ваши ошибки:

document.getElementById("#sw").innerText = ++s; 

должен быть

document.getElementById("sw").innerText = s++; 

Снимите #, и использовать s++, не ++s.

<input type="button" value="Start" name="start" onlick="mf" /> 

Этот код имеет 2 ошибки: onlick и mf. Onlick не поддерживается всеми браузерами (xD). Вместо этого используйте onclick. Кроме того, включите параметры, поэтому mf()

+5

'onclick' не' onlick' – nem035

+1

@ nem035- спасибо, я просто скопировал, что использовал OA.Я не проверял, что – Zackh105

+1

спасибо, что сейчас работает очень хорошо. :) –

1

Прежде всего, у вас есть опечатка. Вы набрали onlick вместо onclick. Во-вторых, document.getElementById принимает строку, которая ссылается на идентификатор элемента, который вы пытаетесь получить. Однако ему не нужно #.

document.getElementById("sw") 
+0

о, да, спасибо, вы решили. –