JS针对性总结:倒计时

93 阅读1分钟

image.png

↑他一直在走动着......

<div id="app"></div>
let targetD = new Date('2023/12/15') // 先用Date定义一个目标日期
function aaa(current, target) {
    let sum = Math.floor((target - current) / 1000)
    // 总秒数,计算(target - current)的差为毫秒数之差 Math.floor向下取整,确保得到一个整数值
    let day = parseInt(sum / (60 * 60 * 24))
    let hours = parseInt(sum % (60 * 60 * 24) / (60 * 60))
    let minutes = parseInt(sum % (60 * 60) / 60)
    let seconds = parseInt(sum % 60)
    let obj = {
        day: day,
        hours: hours,
        minutes: minutes,
        seconds: seconds
    } // 封装一个对象,存储相差的各个单位的时间
    return obj
}
// setInterval(func(), delay)是重复在delay时间间隔执行func()函数
setInterval(() => {
    let currentD = new Date() // 定义当前时间
    let data = aaa(currentD, targetD) // 执行函数
    app.innerHTML = `距离破壳日还有${data.day}${data.hours}小时${data.minutes}${data.
seconds}秒`
    // 可以直接使用id名(因为id是唯一的,可以直接在js中使用,class不可以)
    // 使用模版字符串写法插入
}, 1000);

let day = parseInt(sum / (60 * 60 * 24)) 总秒数除以 一天中有多少秒(60*60*24)

let hours = parseInt(sum % (60 * 60 * 24) / (60 * 60)) 总秒数先取余一天中的秒数,取余的秒除以 一小时有多少秒(60*60)

let minutes = parseInt(sum % (60 * 60) / 60) 总秒数先取余一小时的秒数,取余的秒除以 一分钟有多少秒60

let seconds = parseInt(sum % 60) 总秒数直接取余 秒