Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.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_Counter - Fatal编程技术网

Javascript 尝试按距离计算计数器消息

Javascript 尝试按距离计算计数器消息,javascript,counter,Javascript,Counter,我试图显示两条消息: 1.活动前一天 2.在活动日 事件后日期的消息工作正常。 我试着加上“距离=1”,这似乎是问题所在 var countDownDate = new Date("<? echo $mounthname; ?> <? echo $d[2]; ?>, <? echo $d[0]; ?> <? echo $hourresp; ?>:00").getTime(); var x = setInterval(function() { v

我试图显示两条消息: 1.活动前一天 2.在活动日 事件后日期的消息工作正常。 我试着加上“距离=1”,这似乎是问题所在

var countDownDate = new Date("<? echo $mounthname; ?> <? echo $d[2]; ?>, <? echo $d[0]; ?> <? echo $hourresp; ?>:00").getTime();
var x = setInterval(function() {
  var now = new Date().getTime();
  var distance = countDownDate - now;
  var days = Math.floor(distance / (1000 * 60 * 60 * 24));
  document.getElementById("countdown").innerHTML = " <? echo $line_within; ?> " + days + " <? echo $line_days; ?> ";
  if (distance === 1) {
    clearInterval(x);
    document.getElementById("countdown").innerHTML = "<? echo $line_eventistomorrow; ?>";
  }
  if (distance === 0) {
    clearInterval(x);
    document.getElementById("countdown").innerHTML = "<? echo $line_eventistoday; ?>";
  }
  if (distance < 0) {
    clearInterval(x);
    document.getElementById("countdown").innerHTML = "<? echo $line_eventisover; ?>";
  }
}, 400);
var countDownDate=新日期(“,:00”).getTime();
var x=setInterval(函数(){
var now=new Date().getTime();
var距离=倒计时日期-现在;
变量天数=数学楼层(距离/(1000*60*60*24));
document.getElementById(“倒计时”).innerHTML=“+days+”;
如果(距离===1){
净间隔(x);
document.getElementById(“倒计时”).innerHTML=“”;
}
如果(距离==0){
净间隔(x);
document.getElementById(“倒计时”).innerHTML=“”;
}
如果(距离<0){
净间隔(x);
document.getElementById(“倒计时”).innerHTML=“”;
}
}, 400);

当您打算检查
天数时,您正在检查距离

(还要注意,
Math.floor
在这里会给你一个错误;你想要
Math.ceil
。这种数学不会真正给你“明天”和“昨天”的读数,相反,你会得到“从现在起24小时”和“24小时前”.对于真实日期的比较,我建议使用类似的方法来简化这一过程。)

var countDownDate=新日期(“2017年12月1日”).getTime();
var now=new Date().getTime();
var距离=倒计时日期-现在;
控制台。日志(距离);//除非未来的倒计时日期为1毫秒,否则该值不会为1
var天数=数学单元(距离/(1000*60*60*24));
console.log(天);//这就是你想要的
如果(天数===1){
// ...

}//etc
=
用于赋值,
=
=
用于比较。相等(=)相等运算符转换操作数(如果它们不是同一类型),然后应用严格比较。如果两个操作数都是对象,则JavaScript会比较操作数引用内存中相同对象时相等的内部引用,因此
If(distance==1){}
I尝试了“==”和“==”,但是仍然不工作…如果
语句仍然不工作,只需将
=
中的
=
更改为
=
就可以了…太明显了。。。这应该是答案。但是你怎么能加上准确的时间呢?像这样:“2017年12月1日19:30:00”对我来说不起作用…什么不起作用?你能更具体一点吗?@DigiNetEvents如果你的意思是使用该时间当前返回2而不是1,那是因为我上面说的:你计算的是“从现在开始的24小时间隔”,而不是“从午夜开始的天数”。是的,我想计算从现在到“倒计时日期”的确切日期和时间的24小时间隔