番茄钟时间不起作用

时间:2015-10-14 05:04:26

标签: javascript jquery

我目前正致力于Pomodoro Clock项目,在Session和Break中,一切似乎都在加/减按钮,但是时间本身不起作用(在蓝色圆圈区域),有些东西很少丢失,请参阅下文。

var time = document.querySelector(".time");
var timerBody = document.querySelector(".timerBody");
var currentWork = document.querySelector(".currentWork");

var sessionLength = document.querySelector(".sessionLength");
var minusSessionLength = document.querySelector(".minus-sessionLength");
var plusSessionLength = document.querySelector(".plus-sessionLength");

var breakLength = document.querySelector(".breakLength");
var minusBreakLength = document.querySelector(".minus-breakLength");
var plusBreakLength = document.querySelector(".plus-breakLength");

var isLoop = false;
var isSession = true;

var Sound = new Audio('http://www.oringz.com/oringz-uploads/sounds-917-communication-channel.mp3');

function GetTime(timeString){
  timeString = timeString.split(':');
  var seconds = parseInt(timeString[0]) * 60 + parseInt(timeString[1]);
  return seconds;
}

// Errors here
function setTime(seconds) {
  var timeString = [];
  timeString.push(Math.floor(seconds/60));
  timeString.push((seconds % 60 < 10) ? '0' + (seconds % 60).toString() : (seconds % 60));
  return timeString.join(':')
}

var currentTime = GetTime(time.innerHTML);

minusSessionLength.addEventListener('click', function(event){
  if(!isLoop) {
    var STime = parseInt(sessionLength.innerHTML);
    if(STime - 1 >= 1)
      STime--;
    sessionLength.innerHTML = STime;
    if(isSession) {
      time.innerHTML = STime + ':00';
      currentTime = GetTime(time.innerHTML);
    }
  }
});

plusSessionLength.addEventListener('click', function(event){
  if(!isLoop) {
    var STime = parseInt(sessionLength.innerHTML);
    sessionLength.innerHTML = ++STime;

    if(isSession){
      time.innerHTML = STime + ':00';
      currentTime = GetTime(time.innerHTML);
    }
  }
});

minusBreakLength.addEventListener('click', function(event){
  if(!isLoop) {
    var BTime = parseInt(breakLength.innerHTML);
    if(BTime - 1 >= 1) {
      BTime--;
      breakLength.innerHTML = BTime;
    }

    if(!isSession) {
      time.innerHTML = BTime + ':00';
      currentTime = GetTime(time.innerHTML);
    }
  }
});

plusBreakLength.addEventListener('click', function(event){
  if(!isLoop) {
    var BTime = parseInt(breakLength.innerHTML);
    breakLength.innerHTML = ++BTime;

    if(!isSession) {
      time.innerHTML = BTime + ':00';
      currentTime = GetTime(time.innerHTML);
    }
  }
});

var loop;

  timerBody.addEventListener('click', function(event){
    if(isLoop) {
      clearInterval(loop);
      currentWork.innerHTML = 'Paused';
      isLoop = !isLoop;
    }
    else {
      currentWork.innerHTML = isSession ? 'Session' : 'Break';

      loop = setInterval(function() {
        time.innerHTML = SetTime(--currentTime);
        if(currentTime < 1) {
          if(isSession) {
            currentWork.innerHTML = 'Break';
            time.innerHTML = breakLength.innerHTML + ':00';
            currentTime = GetTime(time.innerHTML);
            timerBody.style.borderColor = "#80FF80";
            Sound.play();

            var isBreakTitle = true;
            var changeTitle = setInterval(function(){
              document.title = isBreakTitle ? '***Break!***' : '************';
              isBreakTitle = !isBreakTitle;
            }, 100);

            setTimeout(function() {
              clearInterval(changeTitle);
              document.title = 'Pomodoro clock';
            }, 5000);
            isSession = !isSession;
          }
          else {
            currentWork.innerHTML = 'Session';
            time.innerHTML = sessionLength.innerHTML + ':00';
            currentTime = GetTime(time.innerHTML);
            timerBody.style.borderColor = "#F64141";
            Sound.play();

            var isSessionTitle = false;
            var changeTitle = setInterval(function() {
              document.title = isSessionTitle ? '***Session!****' : '************';
              isSessionTitle = !isSessionTitle;
            }, 100);

            setTimeout(function() {
              clearInterval(changeTitle);
              document.title = 'Pomodoro clock';
            }, 5000);
            isSession = !isSession;
          }
        }
      }, 1000);
      isLoop = !isLoop;
    }

  }); 

这是错误的错误,应该是“SetTime”

function SetTime(seconds) {
  var timeString = [];
  timeString.push(Math.floor(seconds/60));
  timeString.push((seconds % 60 < 10) ? '0' + (seconds % 60).toString() : (seconds % 60));
  return timeString.join(':')
}

希望这对您未来的问题有所帮助。

0 个答案:

没有答案