Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript倒计时-需要第二个数字_Javascript_Jquery - Fatal编程技术网

javascript倒计时-需要第二个数字

javascript倒计时-需要第二个数字,javascript,jquery,Javascript,Jquery,我得到了一块现有的javascript,我的老板要求我修改它——问题是,我几乎不知道如何使用javascript——我们的后端开发人员意外辞职,我只是想帮忙 我需要使这个倒计时计时器总是显示两位数(01而不是1)。我在这里搜索并尝试了一些类似的问题解决方案,但它们都是针对单个问题的,而且我根本没有机会使用if-else-if语句进行更改(部分原因是我对js的理解和语法不太好)。希望这对知道自己在做什么的人来说是一个简单的解决方案!提前谢谢 //使用TargetDate创建可重用的倒计时类 /

我得到了一块现有的javascript,我的老板要求我修改它——问题是,我几乎不知道如何使用javascript——我们的后端开发人员意外辞职,我只是想帮忙

我需要使这个倒计时计时器总是显示两位数(01而不是1)。我在这里搜索并尝试了一些类似的问题解决方案,但它们都是针对单个问题的,而且我根本没有机会使用if-else-if语句进行更改(部分原因是我对js的理解和语法不太好)。希望这对知道自己在做什么的人来说是一个简单的解决方案!提前谢谢


//使用TargetDate创建可重用的倒计时类
/*
targetDate=到期日期
DisplayCountDownOneElement=需要在哪个元素上显示倒计时。
hideOnExpire=过期时需要隐藏的元素。
*/
var CountDownTimer=函数(targetDate、DisplayCountdownElement、hideOnExpire){
var target_date=新日期(targetDate).getTime();
var countdown=document.getElementById(DisplayCountdownElement);
var hideExpire=document.getElementById(hideOnExpire);
//时间单位变量
var天、小时、分钟、秒;
定时器();
设置间隔(定时器,1000);
函数计时器(){
//找出从现在到目标之间的“秒数”
var current_date=new date().getTime();
var秒数左=(目标日期-当前日期)/1000;
//做一些时间计算
天=parseInt(还剩秒/86400);
剩余秒数=剩余秒数%86400;
小时=parseInt(剩余秒/3600);
剩余秒数=剩余秒数%3600;
分钟=parseInt(剩余秒/60);
秒=parseInt(剩余%60秒);
//格式化倒计时字符串+设置标记值
countdown.innerHTML=天+“:”+小时+“:”
+分钟+“:“+秒+”;
如果(剩余秒数<0){
hideExpire.style.display=“无”;
倒计时。innerHTML=“”;
}
}
}
//样本计时器至2014年12月1日下午1:30:00
var c=新的倒计时(“2014年12月1日格林尼治时间下午1:30-0800”,“网络计时器”,“网络计时器”);
只需添加以下内容:

  if(days < 10){days = "0" + days;}
  if(hours < 10){hours = "0" + hours;}
  if(minutes < 10){minutes = "0" + minutes;}
  if(seconds < 10){seconds = "0" + seconds;}

给你。我添加了一个函数,用于在值小于10时将数字转换为2位字符串

演示:

编辑1:

countdown.innerHTML = makeTwoDigit(days) + " : " + makeTwoDigit(hours) + " : "
  + makeTwoDigit(minutes) + " : " + makeTwoDigit(seconds) + " ";  
编辑2:

function makeTwoDigit(num) {
  if (num < 10) {
    return "0" + num;
  }
  return num;
}
函数makeTwoDigit(num){
如果(数值<10){
返回“0”+num;
}
返回num;
}
新资料来源:

//使用TargetDate创建可重用的倒计时类

/*
 targetDate = Expiration date
 displayCountDownOnElement = on what element you need the countdown displayed at.
 hideOnExpire = on what element you need to hide when it expires.
*/
  var CountDownTimer = function(targetDate, displayCountDownOnElement, hideOnExpire){
      var target_date  = new Date(targetDate).getTime();
      var countdown = document.getElementById(displayCountDownOnElement);
      var hideExpire = document.getElementById(hideOnExpire);

      // variables for time units
      var days, hours, minutes, seconds;


      timer();
      var interval = setInterval(timer, 1000);  // give interval a reference

      function timer() {

          // find the amount of "seconds" between now and target
          var current_date = new Date().getTime();
          var seconds_left = (target_date - current_date) / 1000;

          // do some time calculations
          days = parseInt(seconds_left / 86400);
          seconds_left = seconds_left % 86400;

          hours = parseInt(seconds_left / 3600);
          seconds_left = seconds_left % 3600;

          minutes = parseInt(seconds_left / 60);
          seconds = parseInt(seconds_left % 60);

          // format countdown string + set tag value
          countdown.innerHTML = makeTwoDigit(days) + " : " + makeTwoDigit(hours) + " : "
          + makeTwoDigit(minutes) + " : " + makeTwoDigit(seconds) + " ";  

          if(seconds_left < 0) { 
            hideExpire.style.display = "none";
            countdown.innerHTML = "";
            clearInterval(interval);  // clears interval 
          }

      }
        function makeTwoDigit(num) {
          if (num < 10) {
            return "0" + num;
          }
          return num;
        }
}



// Sample Timer to Dec. 1, 2014 1:30:00 PM 
var c = new CountDownTimer("Dec 1, 2014 1:30:00 PM GMT -0800","cyber-timer", "cyber-timer");
/*
targetDate=到期日期
DisplayCountDownOneElement=需要在哪个元素上显示倒计时。
hideOnExpire=过期时需要隐藏的元素。
*/
var CountDownTimer=函数(targetDate、DisplayCountdownElement、hideOnExpire){
var target_date=新日期(targetDate).getTime();
var countdown=document.getElementById(DisplayCountdownElement);
var hideExpire=document.getElementById(hideOnExpire);
//时间单位变量
var天、小时、分钟、秒;
定时器();
var interval=setInterval(计时器,1000);//给interval一个引用
函数计时器(){
//找出从现在到目标之间的“秒数”
var current_date=new date().getTime();
var秒数左=(目标日期-当前日期)/1000;
//做一些时间计算
天=parseInt(还剩秒/86400);
剩余秒数=剩余秒数%86400;
小时=parseInt(剩余秒/3600);
剩余秒数=剩余秒数%3600;
分钟=parseInt(剩余秒/60);
秒=parseInt(剩余%60秒);
//格式化倒计时字符串+设置标记值
countdown.innerHTML=makeTwoDigit(天)+:“+makeTwoDigit(小时)+”:”
+makeTwoDigit(分钟)+“:“+makeTwoDigit(秒)+”;
如果(剩余秒数<0){
hideExpire.style.display=“无”;
倒计时。innerHTML=“”;
clearInterval(interval);//清除间隔
}
}
函数makeTwoDigit(num){
如果(数值<10){
返回“0”+num;
}
返回num;
}
}
//样本计时器至2014年12月1日下午1:30:00
var c=新的倒计时(“2014年12月1日格林尼治时间下午1:30-0800”,“网络计时器”,“网络计时器”);
函数formatToReadingZero(num){
如果(数值<10){
返回“0”+num;
} 
否则{
返回num;
}

}
停止间隔也会非常有帮助,多种解决方案正在帮助我找出我做错了什么。非常感谢!随时很高兴我能帮上忙。太棒了!非常感谢,成功了!我喜欢这是一个多么经典的例子!太糟糕了,他们似乎已经将原始示例更改为
d.toLocaleTimeString()
/*
 targetDate = Expiration date
 displayCountDownOnElement = on what element you need the countdown displayed at.
 hideOnExpire = on what element you need to hide when it expires.
*/
  var CountDownTimer = function(targetDate, displayCountDownOnElement, hideOnExpire){
      var target_date  = new Date(targetDate).getTime();
      var countdown = document.getElementById(displayCountDownOnElement);
      var hideExpire = document.getElementById(hideOnExpire);

      // variables for time units
      var days, hours, minutes, seconds;


      timer();
      var interval = setInterval(timer, 1000);  // give interval a reference

      function timer() {

          // find the amount of "seconds" between now and target
          var current_date = new Date().getTime();
          var seconds_left = (target_date - current_date) / 1000;

          // do some time calculations
          days = parseInt(seconds_left / 86400);
          seconds_left = seconds_left % 86400;

          hours = parseInt(seconds_left / 3600);
          seconds_left = seconds_left % 3600;

          minutes = parseInt(seconds_left / 60);
          seconds = parseInt(seconds_left % 60);

          // format countdown string + set tag value
          countdown.innerHTML = makeTwoDigit(days) + " : " + makeTwoDigit(hours) + " : "
          + makeTwoDigit(minutes) + " : " + makeTwoDigit(seconds) + " ";  

          if(seconds_left < 0) { 
            hideExpire.style.display = "none";
            countdown.innerHTML = "";
            clearInterval(interval);  // clears interval 
          }

      }
        function makeTwoDigit(num) {
          if (num < 10) {
            return "0" + num;
          }
          return num;
        }
}



// Sample Timer to Dec. 1, 2014 1:30:00 PM 
var c = new CountDownTimer("Dec 1, 2014 1:30:00 PM GMT -0800","cyber-timer", "cyber-timer");