当前位置:首页 > JavaScript

js 实现 loading

2026-01-31 22:56:07JavaScript

实现 JavaScript Loading 动画的方法

使用 CSS 和 JavaScript 创建基础加载动画

定义一个简单的旋转动画通过 CSS,用 JavaScript 控制显示和隐藏:

.loader {
  border: 5px solid #f3f3f3;
  border-top: 5px solid #3498db;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  animation: spin 1s linear infinite;
  margin: 20px auto;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
function showLoader() {
  document.getElementById('loader').style.display = 'block';
}

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

使用 Promise 模拟异步加载

结合异步操作展示加载状态:

function simulateLoading() {
  showLoader();
  return new Promise(resolve => {
    setTimeout(() => {
      hideLoader();
      resolve('Data loaded');
    }, 2000);
  });
}

simulateLoading().then(response => console.log(response));

进度条加载实现

创建动态进度条显示加载进度:

<div id="progress-container" style="width:100%;background:#ddd;">
  <div id="progress-bar" style="height:30px;width:0%;background:#4CAF50;"></div>
</div>
let progress = 0;
const interval = setInterval(() => {
  progress += 10;
  document.getElementById('progress-bar').style.width = progress + '%';
  if (progress >= 100) clearInterval(interval);
}, 500);

使用第三方库(如 Spin.js)

快速集成专业加载动画:

const opts = {
  lines: 12,
  length: 30,
  width: 10,
  radius: 40,
  color: '#fff',
  speed: 1
};
const spinner = new Spinner(opts).spin(document.getElementById('loader'));

骨架屏加载效果

现代应用常用技术:

.skeleton {
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
}

@keyframes shimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}
function showSkeleton() {
  document.querySelectorAll('.skeleton-placeholder').forEach(el => {
    el.classList.add('skeleton');
  });
}

注意事项

js 实现 loading

  • 移动端需考虑性能优化,避免复杂动画
  • 加载时间超过5秒时应提供取消选项
  • 重要操作需防止用户在加载期间重复提交
  • 考虑使用Web Workers处理长时间任务

标签: jsloading
分享给朋友:

相关文章

js实现跳转

js实现跳转

使用 window.location 跳转 通过修改 window.location.href 或直接使用 window.location 实现页面跳转,适用于普通跳转或带参数的 URL。 // 方…

js实现dh

js实现dh

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

js实现自举

js实现自举

实现 JavaScript 自举的方法 JavaScript 自举(Bootstrap)通常指通过 JavaScript 动态加载自身或依赖的脚本,实现运行时环境的初始化或扩展。以下是几种常见实现方式…

js实现 功能

js实现 功能

在 JavaScript 中实现功能通常涉及多个关键步骤,具体取决于功能需求。以下是常见功能的实现方法和示例: 基本功能实现 使用函数封装逻辑是最直接的方式。例如,实现一个计算两数之和的函数: f…

js图片上传实现

js图片上传实现

图片上传的基本实现 使用HTML的<input type="file">元素配合JavaScript的File API实现基础图片上传功能。HTML部分需要设置accept="image/…

js实现显示隐藏

js实现显示隐藏

显示隐藏的实现方法 在JavaScript中,实现元素的显示和隐藏可以通过多种方式完成。以下是几种常见的方法: 修改CSS的display属性 通过改变元素的display属性可以在none(隐藏)…