当前位置:首页 > HTML

h5实现进度条

2026-01-14 22:24:57HTML

使用HTML5的<progress>标签

HTML5提供了原生进度条标签<progress>,适用于展示任务完成进度。基本语法如下:

<progress value="50" max="100"></progress>
  • value:当前进度值(必需)
  • max:总进度值(默认1)

自定义CSS样式

通过CSS可以美化原生进度条:

progress {
  width: 300px;
  height: 20px;
  border-radius: 10px;
}
progress::-webkit-progress-bar {
  background-color: #f0f0f0;
}
progress::-webkit-progress-value {
  background-color: #4CAF50;
}

动态更新进度

结合JavaScript实现动态进度更新:

h5实现进度条

let progressBar = document.querySelector('progress');
let currentValue = 0;

setInterval(() => {
  currentValue += 10;
  if(currentValue > 100) currentValue = 0;
  progressBar.value = currentValue;
}, 500);

使用Canvas绘制高级进度条

需要更复杂效果时可用Canvas实现:

<canvas id="myProgress" width="300" height="30"></canvas>

<script>
const canvas = document.getElementById('myProgress');
const ctx = canvas.getContext('2d');

function drawProgress(percent) {
  ctx.clearRect(0, 0, canvas.width, canvas.height);

  // 背景
  ctx.fillStyle = '#e0e0e0';
  ctx.fillRect(0, 0, canvas.width, canvas.height);

  // 进度
  ctx.fillStyle = '#FF7043';
  ctx.fillRect(0, 0, canvas.width * percent/100, canvas.height);

  // 文字
  ctx.fillStyle = '#000';
  ctx.font = '14px Arial';
  ctx.fillText(`${percent}%`, 10, 20);
}

let p = 0;
setInterval(() => {
  p = (p + 5) % 105;
  drawProgress(Math.min(p, 100));
}, 200);
</script>

使用第三方库

常见进度条库推荐:

h5实现进度条

  • ProgressBar.js:支持圆形、直线等多种形状
  • NProgress:适用于页面顶部细进度条
  • anime.js:实现带动画效果的进度条

安装示例(以NProgress为例):

npm install nprogress

使用代码:

import NProgress from 'nprogress';

NProgress.start();
setTimeout(() => NProgress.done(), 2000);

标签: 进度条
分享给朋友:

相关文章

react 实现进度条

react 实现进度条

使用 React 实现进度条 使用原生 HTML5 <progress> 元素 React 可以直接渲染 HTML5 的 <progress> 元素,适用于简单的进度展示:…

css制作网格进度条

css制作网格进度条

使用CSS Grid布局制作网格进度条 通过CSS Grid布局可以轻松创建网格进度条。定义一个容器元素作为网格,子元素表示进度块。 <div class="grid-progress">…

php实现上传进度条

php实现上传进度条

PHP 文件上传进度条实现方法 在PHP中实现文件上传进度条需要结合前端和后端技术,以下是一种常见的实现方案: 使用 session.upload_progress 功能 PHP 5.4+ 内置了上…

js实现上传进度条

js实现上传进度条

使用XMLHttpRequest实现上传进度条 XMLHttpRequest是传统的AJAX请求方式,支持上传进度监控。通过监听upload对象的progress事件获取上传进度信息。 const…

js实现录音进度条回放

js实现录音进度条回放

实现录音进度条回放的方法 使用Web Audio API和MediaRecorder API Web Audio API提供了音频处理的底层能力,MediaRecorder API用于录制音频流。结合…

vue请求实现进度条

vue请求实现进度条

实现请求进度条的方法 在Vue中实现请求进度条可以通过多种方式完成,以下是几种常见的方法: 使用axios拦截器 axios拦截器可以在请求发出前和响应返回后执行特定逻辑,适合用于进度条控制。…