Как преобразовать секунды в минуты и секунды? - PullRequest
1 голос
/ 25 марта 2019

Новое в кодировании! Я хочу сделать простой таймер обратного отсчета, который отсчитывает от 53 минут. Как я могу отформатировать вывод как «52:58» вместо «3178» (секунд)? Спасибо! :)

Вот что у меня есть:

window.onload = function () {
  var counter = 0;
  var timeleft = 3180;

  function convertSeconds(s) {
    var min = floor (s / 60);
    var sec = s % 60;
    return min + ':' + sec;

  }

  function setup() {
    var timer = document.getElementById("timer");
    timer.innerHTML = (convertSeconds(timeleft - counter));

    function timeIt() {
      counter++;
      timer.innerHTML = (convertSeconds(timeleft - counter));
    }
    setInterval(timeIt, 1000);
  }
  setup();
}

Ответы [ 2 ]

3 голосов
/ 25 марта 2019

используйте Math.floor вместо floor. Ваш код уже делает все, что вы хотите:)

window.onload = function () {
  var counter = 0;
  var timeleft = 3180;

  function convertSeconds(s) {
    var min = Math.floor (s / 60);
    var sec = s % 60;
    return min + ':' + sec;

  }

  function setup() {
    var timer = document.getElementById("timer");
    timer.innerHTML = (convertSeconds(timeleft - counter));

    function timeIt() {
      counter++;
      timer.innerHTML = (convertSeconds(timeleft - counter));
    }
    setInterval(timeIt, 1000);
  }
  setup();
}
<div id="timer"></div>
0 голосов
/ 25 марта 2019

Вы должны использовать функцию Math.floor() для вычисления значений в минутах и ​​секундах.

...