Я пытаюсь зафиксировать время из секундомера в браузере и отобразить время (кругов) ниже. Для этого я намереваюсь создать неупорядоченный список из массива в файле JavaScript.
Вот это JS:
laps = []:
function show() {
$time = document.getElementById('time');
document.getElementById("capture").setAttribute("disabled","disabled"); // disable capture button until start
update();
}
function update() {
$time.innerHTML = formatTime(time());
displayLaps();
}
function displayLaps() {
if (laps == "" || laps.length == 0) {
return false; // stop the function if the value is empty
}
var inner = `Lap ${lap_count} :${formatTime(laps[lap_count-1])}`;
document.getElementById("laps").innerHTML += '<li>' + inner + '</li>';
}
И связанный html :
<!doctype html>
<html lang="en">
<head>
</head>
<body onload="show()">
<div>Time: <span id="time"></span></div>
<button onclick="onStart()" id="start" style="width:150px">Start</button>
<button id="capture" style="width:150px">Capture</button>
<div id="laps"><ul></ul></div>
<script src=".\stopwatch.js"> </script>
</body>
</html>
Хотя у меня странное поведение. Кажется, что оператор +=
в последней строке кода продолжает добавлять строки, которые отображают последний массив vaue (см. Ниже), тогда как замена его простым оператором =
просто создает одну строку, которая затем заменяется каждый раз, когда новое значение круга добавляется в массив.
Я, очевидно, что-то упускаю, но буду признателен за некоторые рекомендации, если это возможно.
Большое спасибо!