一篇文章教会你使用JS+CSS实现一个简单加载进度条的效果

开发 前端
大家好,我是前端进阶者,今天给大家来做个小项目,一起来看看吧~

 一、前言

[[432870]]

我们经常在网页上 ,游戏界面加载时会看到加载进度条的效果,我们往往会以为这些加载进度条的效果,很难实现。

今天教大家JS+CSS结合做简单一个加载进度条的效果。

 

 

 

 

二、项目准备

软件:HBuilderX。

三、项目实现

1. body 创建2个div,外部div添加id"progress"属性, 添加 id属性 。

  1. <div id="progress"
  2. <div id="progress-bar"></div> 
  3. </div> 

 

 

 

2.设置progress CSS样式。

设置宽度,高度,边框圆角,超过溢出处理,边框颜色等等属性。

 

  1. #progress { 
  2. width: 100%; 
  3. height: 30px; 
  4. position: relative
  5. background-color: #ddd; 
  6. border-radius: 10px; 
  7. overflow: hidden; 

3.设置progress-bar CSS样式。

设置宽度,高度,行高,文字颜色,背景颜色等等属性。

 

  1. #progress-bar { 
  2. background-color: #d9534f; 
  3. width: 10px; 
  4. height: 30px; 
  5. line-height: 30px; 
  6. position: absolute
  7. text-align: center; 
  8. color: white; 
  9. background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); 
  10. background-size: 40px 40px; 

4. 设置 创建两个按钮,添加点击事件。

  1. <button onclick="start()">开始进度</button> 
  2. <button onclick="stop()">结束进度</button> 

5.start()方法,添加定时器。

 

  1. function start() { 
  2. t = setInterval(progress, 60); 

6.判断当进度条到100%时,停止定时器,没有到达,再执行方法。

 

  1. function progress() { 
  2. if (i < 100) { 
  3. i++; 
  4. bar.style.width = i + "%"
  5. bar.innerHTML = i + " %"
  6. else { 
  7. clearInterval(t); 

7. 设置stop()方法,移除定时器, 停止执行。

 

  1. function stop() { 
  2. clearInterval(t); 

8. 调用方法,实现效果。

四、效果展示

1、f12运行到chrome浏览器。

 

 

 

 

2、点击开始进度按钮,加载进度。显示进度加载情况。

 

 

 

 

3、加载到100% 停止定时器!

 

 

 

 

4、按钮结束进度按钮,停止定时器。直接从当前进度停止。

 

 

 

 

五、总结

  1. 本项目,事件监听遇到的一些难点进行了分析及提供解决方案。
  2. 欢迎大家积极尝试,有时候看到别人实现起来很简单,但是到自己动手实现的时候,总会有各种各样的问题,切勿眼高手低,勤动手,才可以理解的更加深刻。
  3. HTML+CSS也可以做出网站页面的效果,在上面显示图片标题的地方不能用绝对定位,于是用的relative定位,这个地方是布局的核心部分,否则无法将文字放在图片之上。
  4. 此进度条是DIV+CSS制作实现,通过对DIV宽度按照百分比来实现百分比进度条效果,大家可以将背景美化、边框美化实现自己需要的漂亮美化的进度条效果。
  5. 代码很简单,希望对你有所启发。

 

责任编辑:华轩 来源: 前端进阶学习交流
相关推荐

2021-04-28 10:01:00

JSCSS进度条

2021-02-19 19:35:53

SVG 形状元素

2019-10-17 19:15:22

jQueryJavaScript前端

2021-03-02 18:35:27

SVG开发空间

2021-02-17 20:40:22

SVG图像模式

2021-12-28 09:27:45

Javascript 高阶函数前端

2020-11-13 08:14:28

JavaScript

2023-06-21 00:10:17

JSONWeb服务器JavaScript

2021-05-29 10:20:54

GoModules语言

2020-12-01 09:36:35

SVG元素属性

2021-09-15 10:00:33

Go语言Modules

2023-07-18 15:49:22

HTMLCSS

2021-03-17 09:59:26

Python函数调用

2021-07-10 10:01:37

Python简单函数

2024-04-11 12:57:55

Python函数

2021-03-19 10:01:41

SVG画多边形Htm基础

2021-02-24 10:14:04

PythonClassPython基础

2020-12-10 08:20:27

Python微博评论

2020-12-16 08:07:28

语言基础反射

2021-12-30 10:28:30

Python 微博评论
点赞
收藏

51CTO技术栈公众号