Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>JS Bin</title>
</head>
<body>
<p><span id="my_timer"></span></p>
</body>
</html>
 
@import url('https://fonts.googleapis.com/css?family=Cutive+Mono');
body {
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
}
span {
    color: #ac4142;
    font-family: 'Cutive Mono', monospace;
    font-size: 3em;
}
 
const timer = document.getElementById("my_timer");
// выбери "время в секундах" или число вызовов функции startTimer() 
let total = 60;
// сохраним в переменную, чтобы потом очистить
let timerInterval = setInterval(tick, 1000);
// достаём число, минуты, секунды в числовом формате
const getHours = x => Math.floor( total / 3600 )
const getMinutes = x => Math.floor( total % 3600 / 60)
const getSeconds = x => Math.floor( total % 3600 % 60 )
// приводим вышеуказанные значения в нужный для отображения вид
const prepair = val => val < 10 ? '0' + val : val
// эта функция принимает фукцию и вызывает её, передав в качестве аргумента total
const passTotal = fn => fn(total);
function tick() {
    // типа делаем [a, b] = [10, 20] и получаем a = 10 и b = 20 (деструктивное присваивание)
    const [hour, minutes, seconds] = [getHours, getMinutes, getSeconds].map(passTotal)
    
    if (total <= 0) {
        clearInterval(timerInterval)
        // return fetchAnotherQuestion()
    }
        // отображаем строку
   timer.textContent = prepair(hour)+ ':' + prepair(minutes) + ':' + prepair(seconds)
   
     // уменьшаем "время в секундах" на "одну секунду"
     total--;
}
Output

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
dagmanpro
0viewers