当前位置: 首页 > news >正文

亚翔建设集团有限公司网站在线建站平台

亚翔建设集团有限公司网站,在线建站平台,做网站公司需要多少钱,旅游网站建设公司排名如何实现一个基于 HTMLCSSJS 的任务进度条 在网页开发中,任务进度条是一种常见的 UI 组件,它可以直观地展示任务的完成情况。本文将向你展示如何使用 HTML CSS JavaScript 来创建一个简单的、交互式的任务进度条。用户可以通过点击进度条的任意位置来…

如何实现一个基于 HTML+CSS+JS 的任务进度条

在网页开发中,任务进度条是一种常见的 UI 组件,它可以直观地展示任务的完成情况。本文将向你展示如何使用 HTML + CSS + JavaScript 来创建一个简单的、交互式的任务进度条。用户可以通过点击进度条的任意位置来更新进度,并且进度条会同步显示百分比。

效果演示

用户点击进度条任意位置时,进度条会自动填充到该位置,进度百分比会动态显示在下方。
在这里插入图片描述

实现步骤

1. HTML 结构

首先,我们需要定义进度条的基本结构。进度条由一个容器元素 progress-bar 和一个表示进度的填充条 progress-fill 组成。还有一个 progress-text 元素用于显示当前的百分比。

<div class="progress-container"><div class="progress-bar" id="progressBar"><div class="progress-fill" id="progressFill"></div></div><div class="progress-text" id="progressText">进度: 0%</div>
</div>
2. CSS 样式

接下来,为进度条和百分比文字设置样式。我们使用 CSS 来设置进度条的尺寸、颜色和外观。

body {font-family: Arial, sans-serif;display: flex;justify-content: center;align-items: center;height: 100vh;margin: 0;
}.progress-container {width: 80%;max-width: 600px;
}.progress-bar {width: 100%;height: 30px;background-color: #e0e0e0;border-radius: 5px;position: relative;cursor: pointer;
}.progress-fill {width: 0;height: 100%;background-color: #4caf50;border-radius: 5px;transition: width 0.3s ease;
}.progress-text {margin-top: 10px;font-size: 18px;text-align: center;
}
  • progress-bar: 这是一个灰色的容器,表示整个进度条的背景。
  • progress-fill: 绿色填充条,表示任务完成的部分。
  • progress-text: 显示当前进度百分比,并位于进度条下方。
3. JavaScript 实现点击事件

最后,我们使用 JavaScript 来实现交互功能。用户点击进度条时,我们会获取鼠标点击的位置,并将其转换为百分比值,然后更新进度条和显示的百分比。

const progressBar = document.getElementById('progressBar');
const progressFill = document.getElementById('progressFill');
const progressText = document.getElementById('progressText');// 监听进度条的点击事件
progressBar.addEventListener('click', function(event) {// 获取进度条的宽度const barWidth = progressBar.offsetWidth;// 获取鼠标点击位置相对于进度条的坐标const clickX = event.offsetX;// 计算点击位置对应的百分比const percentage = Math.round((clickX / barWidth) * 100);// 更新进度条的宽度和文本progressFill.style.width = percentage + '%';progressText.textContent = '进度: ' + percentage + '%';
});
  • offsetX: 获取用户点击的位置。
  • barWidth: 获取进度条的总宽度。
  • 通过计算点击位置与总宽度的比例,我们可以得到用户点击位置对应的百分比,然后用该百分比更新进度条和文本。
4. 完整代码

将 HTML、CSS 和 JavaScript 代码整合在一起,如下:

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>任务进度条</title><style>body {font-family: Arial, sans-serif;display: flex;justify-content: center;align-items: center;height: 100vh;margin: 0;}.progress-container {width: 80%;max-width: 600px;}.progress-bar {width: 100%;height: 30px;background-color: #e0e0e0;border-radius: 5px;position: relative;cursor: pointer;}.progress-fill {width: 0;height: 100%;background-color: #4caf50;border-radius: 5px;transition: width 0.3s ease;}.progress-text {margin-top: 10px;font-size: 18px;text-align: center;}</style>
</head>
<body><div class="progress-container"><div class="progress-bar" id="progressBar"><div class="progress-fill" id="progressFill"></div></div><div class="progress-text" id="progressText">进度: 0%</div></div><script>const progressBar = document.getElementById('progressBar');const progressFill = document.getElementById('progressFill');const progressText = document.getElementById('progressText');// 监听进度条的点击事件progressBar.addEventListener('click', function(event) {// 获取进度条的宽度const barWidth = progressBar.offsetWidth;// 获取鼠标点击位置相对于进度条的坐标const clickX = event.offsetX;// 计算点击位置对应的百分比const percentage = Math.round((clickX / barWidth) * 100);// 更新进度条的宽度和文本progressFill.style.width = percentage + '%';progressText.textContent = '进度: ' + percentage + '%';});</script>
</body>
</html>

总结

通过以上步骤,你就可以轻松实现一个带有百分比显示的可点击任务进度条。这个实现相对简单,但在实际项目中,你可以根据需要进一步扩展,比如添加不同的样式、动画效果,甚至是结合 AJAX 更新任务状态。

这个小功能适用于各种任务管理、下载进度或表单步骤的展示,是一个常见且实用的网页 UI 组件。希望这篇教程对你有所帮助!

http://www.tj-hxxt.cn/news/128636.html

相关文章:

  • 网站建设中英文表述如何自己创建网站
  • 武汉网站制作服务应用商店下载安装
  • 武汉做网站价格网络推广策划
  • 那个网站教做仙芋鲜电商运营工作内容
  • 装修网站开发前的准备工作18款禁用看奶app入口
  • 为什么几年前做的网站视频看不了模板式自助建站
  • 网站制作难点百度投放
  • 网站怎么做自然优化创建免费网站
  • h5网站建设服务免费关键词排名优化软件
  • 官方网站minecraftseo关键词排名技术
  • 广东省建设厅官方网站多少钱百度贴吧人工客服
  • 网站怎么做多级菜单搭建网站的软件
  • 外贸网站推广中山网站模板建站
  • 当前最流行的网络营销是什么长春seo优化
  • 自己在网站做邮箱seo排名优化推广教程
  • .net网站开发怎么发布西安网络推广优化培训
  • 机械配件网站建设学it需要什么学历基础
  • 做时时彩网站代理费用营销活动推广方案
  • 网站的图片要会员才能下载怎么做首页排名seo
  • html5可以做交互网站吗汕头网站设计
  • 岳阳做网站多少钱semester at sea
  • 网站关键词几个合适广告类的网站
  • 前端可以自己做网站么怎么把自己的产品推广出去
  • 做网站建设一年能赚多少2023年7月最新疫情
  • 如何做网站毕业设计千万不要学网络营销
  • 网站源码提取百度手机版
  • 武汉网站建设组织互动营销公司
  • php工具箱是直接做网站的吗草根seo视频大全网站
  • 高端网站建设加盟阿里云com域名注册
  • 网站制作学生信息管理徐州网站设计