根据新的日期()进行倒计时以停止倒计时

时间:2016-02-04 23:54:15

标签: javascript iframe countdown

好的,所以我正在进行倒计时,倒计时到每小时的最高点,然后在其下的框架中加载新内容。

因为我正在使用新的日期,所以我无法弄清楚如何让倒计时停在最高时间,而不是仅仅重新开始。因此,我告诉页面加载新的帧内容。我曾想过放弃一个cookie,但宁愿保持这一切都是独立的,并且不禁认为我忽略了一些非常明显的东西。

这是我现在正在使用的代码。 (这很麻烦,因为我一直在尝试很多不同的解决方案而且还没有清理它)让我知道你认为我能做些什么来解决这个问题。

function getTimeRemaining(endtime) {
  var now = new Date();
  var seconds = now.getSeconds();
  var minutes = now.getMinutes();
  var hours = "00";
  var days = "00";
  return {
    'days': days,
    'hours': hours,
    'minutes': 60 - minutes - 1,
    'seconds': 60 - seconds
  };


}

function initializeClock(id, endtime) {
  var clock = document.getElementById(id);
  var daysSpan = clock.querySelector('.days');
  var hoursSpan = clock.querySelector('.hours');
  var minutesSpan = clock.querySelector('.minutes');
  var secondsSpan = clock.querySelector('.seconds');

  function updateClock() {
    var now = getTimeRemaining(endtime);

    daysSpan.innerHTML = now.days;
    hoursSpan.innerHTML = ('0' + now.hours).slice(-2);
    minutesSpan.innerHTML = ('0' + now.minutes).slice(-2);
    secondsSpan.innerHTML = ('0' + now.seconds).slice(-2);

    if (now.minutes + now.seconds < 1) {
      clearInterval(timeinterval);
      document.getElementById('clockdiv').style.display = 'none';
      document.getElementById("welcomemsg").innerHTML = "The Video is Now Playing";
      frames['videoplayer'].location.href='https://www.youtube.com/embed/0l1BxXBlODo?autoplay=1'
      } else { 
      document.getElementById("welcomemsg").innerHTML = "Hold Your Horses, it's not time for the video yet.";
}
  }

  updateClock();
  var timeinterval = setInterval(updateClock, 1000);
}

var deadline = new Date(Date.parse(new Date()) + 15 * 24 * 60 * 60 * 1000);
initializeClock('clockdiv', deadline);

让我知道你的想法。

谢谢!

编辑:我找到了一个似乎有效的解决方案。我用以下内容替换了最后的if语句:

    if (now.minutes == 0 && now.seconds <= 1 ) {
      clearInterval(timeinterval);
      document.getElementById('clockdiv').style.display = 'none';
      document.getElementById("welcomemsg").innerHTML = "The Video is Now Playing";
      frames['videoplayer'].location.href='https://www.youtube.com/embed/0l1BxXBlODo?autoplay=1'
      } else { 
      document.getElementById("welcomemsg").innerHTML = "Hold Your Horses, it's not time for the video yet.";
}

希望这可以帮助将来遇到类似问题的人们。就像我说的那样,我知道我错过了一些简单的事情,而我却是。

-Nick

0 个答案:

没有答案