当前位置:首页 > 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));

进度条加载实现

js 实现 loading

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

<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)

快速集成专业加载动画:

js 实现 loading

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');
  });
}

注意事项

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

标签: jsloading
分享给朋友:

相关文章

js实现

js实现

JavaScript 实现方法 JavaScript 是一种广泛使用的编程语言,适用于网页开发、服务器端编程以及移动应用开发。以下是几种常见的 JavaScript 实现方法: 网页交互功能 使用…

css loading制作

css loading制作

CSS Loading动画制作方法 通过CSS可以创建多种加载动画效果,以下是几种常见实现方式: 旋转动画 使用@keyframes创建旋转效果,适合圆形加载指示器: .loader {…

js实现轮播

js实现轮播

实现轮播图的基本思路 轮播图的核心逻辑是通过定时切换展示的图片或内容,通常结合左右滑动按钮和指示器(小圆点)增强交互性。以下是基于原生JavaScript的实现方法。 HTML结构 构建轮播图的HT…

js实现计算器

js实现计算器

实现基础计算器功能 使用JavaScript创建一个基础计算器需要处理数字输入、运算符逻辑和结果显示。以下是一个简单的实现示例: let currentInput = '0'; let previo…

js实现日历

js实现日历

实现日历的基本思路 使用JavaScript实现日历的核心是动态生成日期表格,并处理月份切换逻辑。需要计算当前月的天数、起始星期几,并动态渲染到页面上。 获取当前日期信息 通过Date对象获取当前年…

js实现vr

js实现vr

使用WebXR API实现VR体验 WebXR是浏览器中实现VR和AR体验的标准API,它取代了早期的WebVR。现代浏览器如Chrome、Edge和Firefox已支持WebXR。 // 初始化W…