Javascript 倒计时(计时器)不';在新的一天到来之前,我不会展示自己的作品

Javascript 倒计时(计时器)不';在新的一天到来之前,我不会展示自己的作品,javascript,html,css,timer,Javascript,Html,Css,Timer,我试着组合一个计时器,每天倒计时到16点。但它会首先显示24:00后的小时、分和秒数 这对我来说很难解释,因此我希望可以在我的代码示例中指出: (函数($){ var开始=新日期; start.setHours(16,0,0);//16pm var dataDate=开始; var倒计时={ 结束日期:DATE.parse(dataDate), 结束日期消息:“”, 现在:新日期(), 计数:3, 填充:20, 圆圈大小:150, 边界:20, 更新:1,, 圆圈:{ 工作时间:{ 标题:“小

我试着组合一个计时器,每天倒计时到16点。但它会首先显示24:00后的小时、分和秒数

这对我来说很难解释,因此我希望可以在我的代码示例中指出:

(函数($){
var开始=新日期;
start.setHours(16,0,0);//16pm
var dataDate=开始;
var倒计时={
结束日期:DATE.parse(dataDate),
结束日期消息:“”,
现在:新日期(),
计数:3,
填充:20,
圆圈大小:150,
边界:20,
更新:1,,
圆圈:{
工作时间:{
标题:“小时”,
秒:3600000,
最高:24,
颜色:“#FF3333”
},
会议记录:{
标题:“分钟”,
秒:60000,
最高:60,
颜色:“#FF3333”
},
秒数:{
标题:“秒”,
秒:1000,
最高:60,
颜色:“#FF3333”
}
},
init:函数(){
countdown.canvas=document.createElement('canvas');
countdown.ctx=countdown.canvas.getContext('2d');
倒计时。大小={
w:((countdown.circleSize+countdown.border)*countdown.count+(countdown.padding*(countdown.count-1)),
h:(倒计时.circleSize+countdown.border+countdown.padding*5)
};
countdown.canvas.setAttribute('width',countdown.size.w);
countdown.canvas.setAttribute('height',countdown.size.h);
$(“#倒计时”).append(countdown.canvas);
countdown.ctx.textAlign='center';
倒计时.actualSize=倒计时.circleSize+倒计时.border;
countdown.TIME_LEFT=新日期(countdown.END_Date).getTime();
var INTERVAL=setInterval(函数(){
var NOW=新日期();
如果(现在
#倒计时{
文本对齐:居中;
填充:2px0;
字体系列:“Roboto Condensed”,无衬线;
}
.vcontainer{
最小高度:10em;
显示:表格单元格;
垂直对齐:中间对齐;
}
.倒计时元素{
位置:绝对;顶部:50%;高度:10em;边缘顶部:-5em;
文本对齐:居中;
保证金:5px0px 0px 0px;
颜色:#fff;
}
帆布{
最大宽度:90%;
边缘顶部:10px;
}
剩余时间


您需要在开始时检查开始时间是否在过去,如果是,则添加一天

var start = new Date(new Date().setHours(16,0,0));

// Has the start time already passed?
if (new Date() > start)
  start.setDate(start.getDate()+1);
所有的
newdate()
东西看起来都有点不对劲,但它可以工作。我已将下面示例中的时间更改为凌晨2点,以使其更易于测试

(函数($){
var start=新日期(新日期().setHours(2,0,0));
//开始时间已经过去了吗?
如果(新的)