大佬们指点一下倒计时有什么问题吗?

看了另外一张帖子,关于倒计时组件的,就自己写了一个,大家帮忙看下,写得怎么样?有什么问题,可以指出来!

html 复制代码
<div class="time"></div>
js 复制代码
function countdown(time) {
    let lastTime = Date.now();
    let rafId;
    function refresh() {
        const curTime = Date.now();
        const more = curTime - lastTime - 1000;
        if (more > 0) {
            lastTime = curTime + more;
            const nextTime = time--;
            if (nextTime === 0) {
                cancelAnimationFrame(rafId);
                return;
            }
            update(time);
        }
        rafId = requestAnimationFrame(refresh);
    }

    function update(restTime) {
        const h = restTime > 3600 ? Math.floor(restTime / 60) : 0;
        const m = Math.floor((restTime - h * 3600) / 60);
        const s = restTime - h * 3600 - m * 60;
        const dom = document.querySelector('.time');
        dom.innerHTML = `剩余${h}小时${m}分钟${s}秒`;
    }
    refresh();
    update(time);
}
countdown(1000);
相关推荐
进击的尘埃7 分钟前
Vue3 中 emit 能 await 吗?事件机制里的异步陷阱
javascript
青青家的小灰灰16 分钟前
告别 Prop Drilling:Context API 的陷阱、Reducer 模式与原子化状态库原理
前端·javascript·react.js
叶智辽19 分钟前
【Three.js后期处理】如何让你的场景拥有电影级调色
前端·three.js
进击的尘埃19 分钟前
CSS 变量 + 主题切换:从 CSS-in-JS 回归原生方案的实践之路
javascript
csdn飘逸飘逸19 分钟前
Autojs基础-按键模拟(keys)
javascript
前端付豪20 分钟前
Nest 项目小实践之前端注册登陆
前端·node.js·nestjs
wuhen_n20 分钟前
Suspense:异步组件加载机制
前端·javascript·vue.js
大雨还洅下21 分钟前
前端JS: ES6新特性
前端
wuhen_n21 分钟前
Teleport:渲染到任意DOM节点
前端·javascript·vue.js
进击的尘埃22 分钟前
组合式函数的设计模式:如何写出真正可复用的 Vue3 Composables
javascript