-2
<!DOCTYPE html>
<html lang="en">

<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>

<body>

<div class="time"><span class="hours">00</span>:<span class="minutes">00</span>:<span 
class="seconds">00</span>
</div>
<script>
    const time = document.querySelector(".time");
    const seconds = document.querySelector(".seconds");
    const minutes = document.querySelector(".minutes");
    const hours = document.querySelector(".hours");
    let s = 0;
    let m = 0;
    let h = 0;
    for (s; s <= 59; s++) {

        seconds.innerHTML = s;
    }

</script>
</body>
</html>
  • 1
    setTimeout и setInterval в помощь – andreymal Dec 08 '20 at 20:36
  • Да, браузер не может перерисовывать страницу одновременно с непрерывным исполнением скрипта, нужно давать ему возможность для обновления в перерывах. Одна из возможностей — setTimeout и setInterval. – vsemozhebuty Dec 08 '20 at 20:39
  • 1
    Зря вы так. Мы ведь не знаем объёма ваших знаний. Достаточно попросить уточнить, что неизвестно, а не грубить людям, которые пытались хоть как-то помочь. – vsemozhebuty Dec 08 '20 at 20:43
  • Извините, я думал вы стебетесь надо мной, + я злой очень,не передать словами, уровень знаний-ниже плинтуса – Данила Сергеев Dec 08 '20 at 20:45

2 Answers2

2

Ну например вот так - с минутами и часами уж сами разберетесь, и вам не помешало бы поспокойнее быть...

const time = document.querySelector(".time");
    const seconds = document.querySelector(".seconds");
    const minutes = document.querySelector(".minutes");
    const hours = document.querySelector(".hours");
    let s = 0;
    let m = 0;
    let h = 0;
      let timerId = setTimeout(function tick() {
      s = s + 1;
      if (s < 10) {
        seconds.innerHTML = "0" + s;
      } else {
        seconds.innerHTML = s;
      }
      timerId = setTimeout(tick, 1000);
    }, 1000);
<!DOCTYPE html>
<html lang="en">

<head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head>

<body>

<div class="time"><span class="hours">00</span>:<span class="minutes">00</span>:<span class="seconds">00</span> </div>

</body> </html>

Egettl
  • 515
  • 2
  • 7
0

Нужно учесть, что браузер не может перерисовывать страницу одновременно с непрерывным исполнением скрипта, нужно давать ему возможность для обновления в перерывах. Одна из возможностей — setTimeout и setInterval. К тому же эти функции помогут вам не мгновенно пробежать от 0 до 59, а с задержкой, приближенной к настоящей секунде.

Подробнее можно прочитать, например, тут: https://learn.javascript.ru/settimeout-setinterval

Вот один из вариантов увеличения секунд:

const seconds = document.querySelector(".seconds");
let s = 0;

const interval = setInterval( () => { if (s > 59) clearInterval(interval); else seconds.textContent = s++; }, 1000 );

<div class="time"><span class="hours">00</span>:<span class="minutes">00</span>:<span 
class="seconds">00</span>
</div>
vsemozhebuty
  • 14,042