Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.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_Countdown - Fatal编程技术网

Javascript 为什么我的倒计时功能不工作?

Javascript 为什么我的倒计时功能不工作?,javascript,countdown,Javascript,Countdown,我对圣诞节非常兴奋,于是我决定用什么方法来倒计时,而不是创建一个倒计时计时器。但我的倒计时似乎不起作用 let targetDate = new Date(null, 11, 31, 0, 0, 0, 0) let today = new Date() targetDate.setFullYear(today.getFullYear()) if (targetDate.getTime() - today.getTime() <= 0) { targetDate.setFu

我对圣诞节非常兴奋,于是我决定用什么方法来倒计时,而不是创建一个倒计时计时器。但我的倒计时似乎不起作用


let targetDate = new Date(null, 11, 31, 0, 0, 0, 0)

let today = new Date()

targetDate.setFullYear(today.getFullYear())

if (targetDate.getTime() - today.getTime() <= 0) {

    targetDate.setFullYear(today.getFullYear() + 1)

}

let timer = setInterval(() => {

    today = new Date()

    e = document.getElementById("countdown")

    if (targetDate.getTime() - today.getTime() == 0) {

        e.innerHTML = "Horray! Merry Christmas, Everyone! Horray!"

        clearInterval(timer)

    } else {

        distance = targetDate.getTime() - today.getTime()

        days = Math.floor(distance / (24 * 60 * 60 * 1000))

        distance -= day * 24 * 60 * 60 * 1000

        hours = Math.floor(distance / (60 * 60 * 1000))

        distance -= hours * 60 * 60 * 1000

        minutes = Math.floor(distance / (60 * 1000))

        distance -= minutes * 60 * 1000

        seconds = Math.floor(distance / 1000)

        e.innerHTML = days + " d " hours + " h " + minutes + " m " + seconds + " s "

    }

}, 1000)


设targetDate=新日期(null、11、31、0、0、0、0)
let today=新日期()
targetDate.setFullYear(今天.getFullYear())
if(targetDate.getTime()-today.getTime()){
今天=新日期()
e=document.getElementById(“倒计时”)
if(targetDate.getTime()-today.getTime()==0){
e、 innerHTML=“祝大家圣诞快乐!祝大家圣诞快乐!”
清除间隔(计时器)
}否则{
距离=targetDate.getTime()-today.getTime()
天数=数学楼层(距离/(24*60*60*1000))
距离-=天*24*60*60*1000
小时=数学楼层(距离/(60*60*1000))
距离-=小时*60*60*1000
分钟=数学楼层(距离/(60*1000))
距离-=分钟*60*1000
秒=数学楼层(距离/1000)
e、 innerHTML=天+小时+小时+分钟+米+秒+秒
}
}, 1000)
我已经尝试了控制台记录计时器值,但代码没有呈现。看起来innerHTML代码没有运行。

请看这一行

 e.innerHTML = days + " d " hours + " h " + mi
应该是

 e.innerHTML = days + " d " + hours + " h " + mi

检查
e=document.getElementById(“倒计时”)
之后是什么
e
。。。。如果您的代码在DOM有这样一个元素之前运行它,它将失败。。。试着把javascript放在body元素的最底部+distance=day*24*60*60*1000应该是distance=days*24*60*60*1000,你可能想加上它