Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/431.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 在我的倒计时时钟上显示两位数字时,无法显示小于10的数字_Javascript - Fatal编程技术网

Javascript 在我的倒计时时钟上显示两位数字时,无法显示小于10的数字

Javascript 在我的倒计时时钟上显示两位数字时,无法显示小于10的数字,javascript,Javascript,所以,在我的网站上加载倒计时时钟的过程中,我找到了一些显示倒计时时钟的代码。事实上不止一个例子。我选择了一个我能理解的,并且在这个过程中学到了更多的东西。此代码有效,但不显示小于10的两位数数字(即,我希望7秒显示为07秒) 我尝试将时间变量设置为函数。因此,我没有采取上述措施,而是: seconds = function () { parseInt (seconds_left % 60); if (seconds_left % 60 < 10) { return "

所以,在我的网站上加载倒计时时钟的过程中,我找到了一些显示倒计时时钟的代码。事实上不止一个例子。我选择了一个我能理解的,并且在这个过程中学到了更多的东西。此代码有效,但不显示小于10的两位数数字(即,我希望7秒显示为07秒)

我尝试将时间变量设置为函数。因此,我没有采取上述措施,而是:

  seconds = function () {
   parseInt (seconds_left % 60);
   if (seconds_left % 60 < 10) {
   return "0" + seconds_left; }
   else return seconds_left % 60;
}
seconds=函数(){
parseInt(剩余的秒数为%60);
如果(左%60<10秒){
返回“0”+剩余秒;}
否则返回秒数\u剩余%60;
}

不过没有骰子。任何关于我可能尝试的其他方法的提示都将不胜感激。

如果数字小于10,只需在数字的开头添加一个
'0'
即可:

countdown.innerHTML = (days < 10 ? '0' : '') + days + " DAYS " +
                      (hours < 10 ? '0' : '') + hours + ":" +
                      (minutes < 10 ? '0' : '') + minutes + ":" +
                      (seconds < 10 ? '0' : '') + seconds + " UNTIL DRAWING";
countdown.innerHTML=(天<10?'0':'')+days+“天”+
(小时数<10?'0':“”)+小时数+“”+
(分钟数<10?'0':“”)+分钟数+“:”+
(秒数<10?'0':'')+秒数+“直到绘图”;

如果数字小于10,只需在数字的开头添加一个
'0'
即可:

countdown.innerHTML = (days < 10 ? '0' : '') + days + " DAYS " +
                      (hours < 10 ? '0' : '') + hours + ":" +
                      (minutes < 10 ? '0' : '') + minutes + ":" +
                      (seconds < 10 ? '0' : '') + seconds + " UNTIL DRAWING";
countdown.innerHTML=(天<10?'0':'')+days+“天”+
(小时数<10?'0':“”)+小时数+“”+
(分钟数<10?'0':“”)+分钟数+“:”+
(秒数<10?'0':'')+秒数+“直到绘图”;

您的代码很好,但您确实需要在秒后使用“()”来调用函数。还有一个问题是,seconds()是另一个函数

我重命名了该函数,将其上移到interval函数中,并将秒作为变量传入

这里有一种方法可以让它工作:

//... your other code
hours = parseInt(seconds_left / 3600);
seconds_left = seconds_left % 3600;

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

var parseSeconds = function (seconds_left) {
   parseInt (seconds_left % 60);
   if (seconds_left % 60 < 10) {
   return "0" + seconds_left; }
   else return seconds_left % 60;
}

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

}, 1000);
/。。。你的其他代码
小时=parseInt(剩余秒/3600);
剩余秒数=剩余秒数%3600;
分钟=parseInt(剩余秒/60);
秒=parseInt(剩余%60秒);
var parseSeconds=函数(剩余秒数){
parseInt(剩余的秒数为%60);
如果(左%60<10秒){
返回“0”+剩余秒;}
否则返回秒数\u剩余%60;
}
//格式化倒计时字符串+设置标记值
countdown.innerHTML=天+天+小时+:“
+分钟+“:”+秒(秒)+“直到绘图”;
}, 1000);

但如果可以,更好的方法是使用。它们的格式非常简单。

您的代码非常好,但您确实需要在秒后使用“()”来调用函数。还有一个问题是,seconds()是另一个函数

我重命名了该函数,将其上移到interval函数中,并将秒作为变量传入

这里有一种方法可以让它工作:

//... your other code
hours = parseInt(seconds_left / 3600);
seconds_left = seconds_left % 3600;

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

var parseSeconds = function (seconds_left) {
   parseInt (seconds_left % 60);
   if (seconds_left % 60 < 10) {
   return "0" + seconds_left; }
   else return seconds_left % 60;
}

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

}, 1000);
/。。。你的其他代码
小时=parseInt(剩余秒/3600);
剩余秒数=剩余秒数%3600;
分钟=parseInt(剩余秒/60);
秒=parseInt(剩余%60秒);
var parseSeconds=函数(剩余秒数){
parseInt(剩余的秒数为%60);
如果(左%60<10秒){
返回“0”+剩余秒;}
否则返回秒数\u剩余%60;
}
//格式化倒计时字符串+设置标记值
countdown.innerHTML=天+天+小时+:“
+分钟+“:”+秒(秒)+“直到绘图”;
}, 1000);
但如果可以,更好的方法是使用。它们的格式非常简单。

解决方案如下。只需用此代码替换所有代码并导入moment.js

setInterval(function () {
    var countdown = document.getElementById("countdown");
    countdown.innerHTML = moment().format('MMMM Do YYYY, h:mm:ss a');    
}, 1000);
这是解决方案。只需用此代码替换所有代码并导入moment.js

setInterval(function () {
    var countdown = document.getElementById("countdown");
    countdown.innerHTML = moment().format('MMMM Do YYYY, h:mm:ss a');    
}, 1000);

谢谢!所以这似乎是一个布尔速记,我还没有学会。还有,你在工时部分漏掉了a),但这对我来说很有效。谢谢你的帮助@奈巴特先生,谢谢。语法
条件?true:false
只是内联if语句的简写。如果你不想在一条if语句中占用10行,而这条语句可以在一条语句中完成,那么它就非常方便了。是的,我对其他尝试使用每条5行的if语句感到非常恼火。再次感谢!如果这个答案提供了所需的所有信息,在计票旁边勾选复选框可以让更多的观众看到这个答案成功地满足了你的所有标准,并对投稿人表示感谢。因此你知道,因为有三个部分,
被称为三元运算符。与
+
÷
相反,它们有两个部分,因此是二进制运算符。谢谢!所以这似乎是一个布尔速记,我还没有学会。还有,你在工时部分漏掉了a),但这对我来说很有效。谢谢你的帮助@奈巴特先生,谢谢。语法
条件?true:false
只是内联if语句的简写。如果你不想在一条if语句中占用10行,而这条语句可以在一条语句中完成,那么它就非常方便了。是的,我对其他尝试使用每条5行的if语句感到非常恼火。再次感谢!如果这个答案提供了所需的所有信息,在计票旁边勾选复选框可以让更多的观众看到这个答案成功地满足了你的所有标准,并对投稿人表示感谢。因此你知道,因为有三个部分,
被称为三元运算符。与
+
÷
相反,后者有两个部分,因此它们是二进制运算符。