我的计时器不工作。
这是代码。

var minutesLabel = document.getElementsByClassName('lol')[0].innerText;
    var secondsLabel = document.getElementsByClassName('lol1')[0].innerText;
    setInterval(setTime, 1000);

    function setTime() {
      ++totalSeconds;
      secondsLabel.innerHTML = pad(totalSeconds % 60);
      minutesLabel.innerHTML = pad(parseInt(totalSeconds / 60));
    }

    function pad(val) {
      var valString = val + "";
      if (valString.length < 2) {
        return "0" + valString;
      } else {
        return valString;
      }
    }
<label class="lol" id="minutes">00</label>:<label class="lol1" id="seconds">00</label>


我一直试图使用类名来调用它,但我不明白为什么它不起作用

最佳答案

尝试这样。

您的代码中有很多错误

  • 您尚未定义美联储totalSeconds
  • 您已经定义了像这样的minutesLabelvar minutesLabel = document.getElementsByClassName('lol1')[0].innerText;,并且在用作setTimeminutesLabel.innerHTML函数内部。这是错误的。
  • 您已交换分钟和秒计算


  • var min = document.getElementsByClassName('lol')[0];
    var sec = document.getElementsByClassName('lol1')[0];
    setInterval(setTime, 1000);
    var totalSeconds = 0;
    function setTime() {
      ++totalSeconds;
      sec.innerText = pad(totalSeconds % 60);
      min.innerText = pad(parseInt(totalSeconds / 60));
    }
    
    function pad(val) {
      var valString = val + "";
      if (valString.length < 2) {
        return "0" + valString;
      } else {
        return valString;
      }
    }
    <label class="lol" id="minutes">00</label>:<label class="lol1" id="seconds">00</label>

    09-05 21:49