当前位置:首页 > JavaScript

js实现等待效果

2026-03-01 02:44:36JavaScript

使用 setTimeout 实现延迟执行

通过 setTimeout 可以在指定时间后执行回调函数,适合简单的等待效果:

setTimeout(() => {
  console.log('延迟执行的操作');
}, 2000); // 2000毫秒后执行

使用 Promise 封装异步等待

结合 PromisesetTimeout 实现可链式调用的等待:

js实现等待效果

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

wait(3000).then(() => {
  console.log('3秒后执行');
});

使用 async/await 实现同步式写法

在异步函数中通过 await 实现更直观的等待:

async function delayedAction() {
  console.log('开始等待');
  await wait(2000); // 使用前例的wait函数
  console.log('等待结束');
}

加载动画配合等待效果

通过控制DOM元素显示/隐藏增强用户体验:

js实现等待效果

function showLoader() {
  document.getElementById('loader').style.display = 'block';
}

function hideLoader() {
  document.getElementById('loader').style.display = 'none';
}

async function fetchWithLoading() {
  showLoader();
  await wait(1500);
  // 模拟数据获取
  hideLoader();
}

使用 requestAnimationFrame 实现平滑动画

适合需要与屏幕刷新率同步的视觉等待效果:

function animateWait(duration) {
  const start = performance.now();

  function frame(time) {
    const elapsed = time - start;
    if (elapsed < duration) {
      requestAnimationFrame(frame);
    } else {
      console.log('动画等待结束');
    }
  }

  requestAnimationFrame(frame);
}

进度条模拟实现

通过定时更新进度状态模拟加载过程:

function simulateProgress(duration) {
  let progress = 0;
  const interval = 50;
  const steps = duration / interval;
  const increment = 100 / steps;

  const timer = setInterval(() => {
    progress += increment;
    console.log(`进度: ${Math.min(progress, 100)}%`);
    if (progress >= 100) clearInterval(timer);
  }, interval);
}

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

相关文章

js实现vue路由

js实现vue路由

Vue路由基础实现 使用Vue Router实现前端路由需要先安装并配置路由库。Vue Router是Vue.js官方的路由管理器。 安装Vue Router: npm install vue-r…

js 进度条的实现

js 进度条的实现

使用 HTML 和 CSS 创建基础进度条 HTML 结构可以简单使用一个 div 元素作为容器,内部嵌套另一个 div 表示进度: <div class="progress-containe…

js实现延迟

js实现延迟

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

js实现报表

js实现报表

使用JavaScript实现报表 在JavaScript中实现报表功能可以通过多种方式完成,常见的方法包括使用原生JavaScript、第三方库(如Chart.js、D3.js)或结合后端数据渲染。以…

vue实现气泡效果

vue实现气泡效果

实现气泡效果的方法 在Vue中实现气泡效果可以通过CSS动画、第三方库或自定义组件完成。以下是几种常见方法: 使用纯CSS动画 通过CSS的@keyframes和transform属性创建气泡上升动…

js实现dh

js实现dh

JavaScript 实现 DH(Diffie-Hellman)密钥交换 Diffie-Hellman(DH)密钥交换是一种安全协议,允许双方在不安全的通信信道上建立一个共享密钥。以下是如何在 Jav…