Как я могу создать неупорядоченный список HTML, используя JavaScript (без странного поведения)? - PullRequest
0 голосов
/ 02 мая 2020

Я пытаюсь зафиксировать время из секундомера в браузере и отобразить время (кругов) ниже. Для этого я намереваюсь создать неупорядоченный список из массива в файле 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 (см. Ниже), тогда как замена его простым оператором = просто создает одну строку, которая затем заменяется каждый раз, когда новое значение круга добавляется в массив.

Apparently infinite rows of the last array value

Я, очевидно, что-то упускаю, но буду признателен за некоторые рекомендации, если это возможно.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...