在其他方法中不能使用对象的方法。使用Javascript

时间:2016-12-27 11:27:03

标签: javascript timer setinterval

我正在尝试制作计时器。因此我做了一个对象Timer。当我试图启动计时器(startTimer)时,我卡住了。我想使用setInterval倒计时,并希望使用runTimer作为回调。

我以为我可以用self.runTimer来做这件事。不幸的是,这不起作用(uncaught TypeError: self.runTimer is not a function)。

我该怎么做?

这是我的代码中的大部分内容。

var mins;
var secs;
var isPaused;
var countdownID;
var bigTime = 1499;

var Timer = {
  runTimer: function () {
      mins = Math.floor(bigTime / 60);
      secs = bigTime - mins * 60;

      // change the HTML to show new minutes and seconds
      minutes.innerHTML = (mins < 10 ? '0' : '') + mins;
      seconds.innerHTML = (secs < 10 ? '0' : '') + secs;

      if (bigTime == 0) {
          bigTime = 1499;
          clearInterval(countdownID);
      } else if (!isPaused) {
          bigTime = bigTime - 1;
      }
  },

  startTimer: function () {
        message.innerHTML = "timer started";
        countdownID = setInterval("self.runTimer()", 1000);
  },

  resetTimer: function () {
      message.innerHTML = "Let's focus!";

      bigTime = 1499;
      minutes.innerHTML = "25";
      seconds.innerHTML = "00";

      isPaused = false;
  },

  resumeTimer: function () {
    message.innerHTML = "timer resumed";
    isPaused = false;
  },

  stopTimer: function () {
    message.innerHTML = "timer stopped";
    isPaused = true;
  }
};

我有4个按钮(开始,停止,恢复,重置)正在监听点击以启动/停止/恢复/重置计时器。

0 个答案:

没有答案