当前位置:首页 > JavaScript

js实现等待效果

2026-04-04 03:17:29JavaScript

实现等待效果的几种方法

使用 setTimeout

通过 setTimeout 可以延迟执行代码,模拟等待效果。适用于简单的延迟操作。

console.log("开始等待");
setTimeout(() => {
    console.log("等待结束");
}, 2000); // 等待2秒

使用 Promise 和 async/await

通过 Promise 结合 async/await 可以更优雅地实现等待效果,适用于异步操作。

js实现等待效果

function wait(ms) {
    return new Promise(resolve => setTimeout(resolve, ms));
}

async function demo() {
    console.log("开始等待");
    await wait(3000); // 等待3秒
    console.log("等待结束");
}
demo();

使用 setInterval 实现周期性等待

setInterval 可以周期性地执行代码,适合需要重复等待的场景。

js实现等待效果

let counter = 0;
const intervalId = setInterval(() => {
    console.log(`等待第${++counter}次`);
    if (counter >= 5) {
        clearInterval(intervalId);
        console.log("等待结束");
    }
}, 1000); // 每秒执行一次

使用 CSS 动画模拟视觉等待效果

通过 CSS 动画和 JavaScript 结合,可以实现视觉上的等待效果,比如加载动画。

const spinner = document.createElement("div");
spinner.style.width = "50px";
spinner.style.height = "50px";
spinner.style.border = "5px solid #f3f3f3";
spinner.style.borderTop = "5px solid #3498db";
spinner.style.borderRadius = "50%";
spinner.style.animation = "spin 1s linear infinite";
document.body.appendChild(spinner);

// 移除加载动画
setTimeout(() => {
    spinner.remove();
    console.log("加载完成");
}, 3000);

使用 requestAnimationFrame 实现平滑等待

requestAnimationFrame 适合需要与浏览器渲染同步的等待效果,比如动画或游戏。

function waitAnimation(ms) {
    const start = performance.now();
    function checkTime(timestamp) {
        if (timestamp - start >= ms) {
            console.log("等待结束");
            return;
        }
        requestAnimationFrame(checkTime);
    }
    requestAnimationFrame(checkTime);
}
console.log("开始等待");
waitAnimation(2000); // 等待2秒

注意事项

  • setTimeoutsetInterval 的时间参数单位为毫秒。
  • async/await 需要包裹在异步函数中使用。
  • 清除定时器或动画帧可以避免内存泄漏。
  • 视觉等待效果可以结合 CSS 或第三方库(如 Spin.js)增强用户体验。

标签: 效果js
分享给朋友:

相关文章

js实现图片轮播

js实现图片轮播

实现基础图片轮播 使用HTML、CSS和JavaScript创建一个简单的图片轮播。HTML部分定义轮播容器和图片,CSS设置样式和动画效果,JavaScript处理轮播逻辑。 <div cl…

js实现乘

js实现乘

JavaScript 实现乘法运算 在 JavaScript 中实现乘法运算可以通过多种方式完成,包括基本运算符、函数封装以及高级算法(如大数乘法)。以下是几种常见方法: 使用基本乘法运算符 Jav…

js实现延迟

js实现延迟

实现延迟的方法 在JavaScript中,实现延迟操作有多种方式,以下是几种常见的方法: 使用setTimeout函数 setTimeout是JavaScript中最常用的延迟执行方法。它接受一个回…

jquery效果

jquery效果

jQuery 动画效果 jQuery 提供了多种内置动画效果,可用于实现平滑的页面交互。常用的方法包括 show()、hide()、toggle()、fadeIn()、fadeOut()、slideU…

js树实现

js树实现

树的基本概念 树是一种非线性的数据结构,由节点和边组成。每个节点包含一个值和指向子节点的引用。树的顶部节点称为根节点,没有子节点的节点称为叶节点。 树的实现方式 在JavaScript中,树可以通过…

链表实现js

链表实现js

链表的基本概念 链表是一种线性数据结构,由一系列节点组成,每个节点包含数据和一个指向下一个节点的指针(单向链表)或两个指针(双向链表)。与数组不同,链表在内存中非连续存储,插入和删除操作更高效,但随机…