JavaScript实现简单进度条效果


Posted in Javascript onMarch 25, 2020

本文实例为大家分享了JavaScript实现进度条效果的具体代码,供大家参考,具体内容如下

效果图:

JavaScript实现简单进度条效果

简单说一下思路:

主要就是进度条的宽度的动态调整!要用到JS的间隔定时器 setInterval( )

setInterval( )
功能:每隔指定时间调用一次函数
参数:函数,时间间隔
返回值:定时器编号(数字)

想让它到一定的宽度就停止,那么需要设定它的最大宽度,在它外面套一个有宽度的元素就可以啦!这样的话控制它在父元素里的百分比就行了。
在函数里进行判断是否道达指定宽度,没有到达就增长,否则就停止。
为了便于理解,后面JS代码中也有注释

1.HTML结构

<div id="box"> 
 <p id="progress"></p> //不断增长的进度条
 <span id=n>0%</span> //百分比的显示
</div>
<button id="btn">开 始</button> //按钮

2.CSS样式

<style>
 #box{
  width: 500px;
  height: 30px;
  border: black 2px solid;
  position: relative;
 }
 #progress{
  width: 0px;
  height: 30px;
  background: pink;
  
 }
 #btn{
  width: 50px;
  height: 30px;
 }
 #n{
  position: absolute;
  top: 5px;
  right: 0;
 }
</style>

重点来啦!

3.JavaScript代码

<script>
 //通过id获取元素
 var progress = document.getElementById('progress')
 var n = document.getElementById('n')
 var btn = document.getElementById('btn')

 //定义函数,并用元素的单击事件触发函数
 btn.onclick = function(){
  var w = 0 //定义变量,用来存储进度条的长度

  //启动定时器
  var t = setInterval(function(){
  w += 10 //每隔指定时间,让进度条长度增加10
  if(w >= 100){ //判断进度条的长度有没有等于或大于指定长度
   w = 100 
   clearInterval(t) //条件成立,清除定时器
  }
  progress.style.width = w + '%' //给元素赋值变化后的宽度
  n.innerHTML = w + '%' //同时百分比也要增长
  },100) //每隔0.1秒执行一次
 }
</script>

这是我的学习记录,分享给大家
也希望对看到这篇博文的你有帮助!!!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
passwordStrength 基于jquery的密码强度检测代码使用介绍
Oct 08 Javascript
jquery选择器原理介绍($()使用方法)
Mar 25 Javascript
JQuery动画animate的stop方法使用详解
May 09 Javascript
原生javascript实现图片弹窗交互效果
Jan 12 Javascript
javascript随机显示背景图片的方法
Jun 18 Javascript
AngularJS equal比较对象实例详解
Sep 14 Javascript
基于jQuery制作小图标上下滑动特效
Jan 18 Javascript
Vue组件化通讯的实例代码
Jun 23 Javascript
Mac下安装vue
Apr 11 Javascript
vue2.0获取鼠标位置的方法
Sep 13 Javascript
node.js基于socket.io快速实现一个实时通讯应用
Apr 23 Javascript
node.js实现简单的压缩/解压缩功能示例
Nov 05 Javascript
JavaScript实现随机点名程序
Mar 25 #Javascript
微信小程序分享小程序码的生成(带参数)以及参数的获取
Mar 25 #Javascript
JS实现网页时钟特效
Mar 25 #Javascript
js实现小时钟效果
Mar 25 #Javascript
vue页面更新patch的实现示例
Mar 25 #Javascript
微信小程序scroll-view隐藏滚动条的方法详解
Mar 25 #Javascript
微信小程序点击item使之滚动到屏幕中间位置
Mar 25 #Javascript
You might like
CodeIgniter框架提示Disallowed Key Characters的解决办法
2014/04/21 PHP
PHP tp5中使用原生sql查询代码实例
2020/10/28 PHP
jquery 应用代码 方便的排序功能
2010/02/06 Javascript
为JS扩展Array.prototype.indexOf引发的问题探讨及解决
2013/04/24 Javascript
JSON 数字排序多字段排序介绍
2013/09/18 Javascript
js中call与apply的用法小结
2013/12/28 Javascript
JavaScript中的原型prototype完全解析
2016/05/10 Javascript
详解js中的apply与call的用法
2016/07/30 Javascript
JavaScript定义数组的三种方法(new Array(),new Array('x','y')
2016/10/04 Javascript
jquery 删除节点 添加节点 找兄弟节点的简单实现
2016/12/07 Javascript
Bootstrap3 多个模态对话框无法显示的解决方案
2017/02/23 Javascript
使用Webpack提高Vue.js应用的方式汇总(四种)
2017/07/10 Javascript
详解express与koa中间件模式对比
2017/08/07 Javascript
分析JavaScript数组操作难点
2017/12/18 Javascript
vue.js实现数据库的JSON数据输出渲染到html页面功能示例
2019/08/03 Javascript
layui表格 列自动适应大小失效的解决方法
2019/09/06 Javascript
JavaScript实现缓动动画
2020/11/25 Javascript
[48:21]Mski vs VGJ.S Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
Python3中使用PyMongo的方法详解
2017/07/28 Python
python中numpy.zeros(np.zeros)的使用方法
2017/11/07 Python
python学习基础之循环import及import过程
2018/04/22 Python
python3+PyQt5自定义视图详解
2018/04/24 Python
如何使用Python的Requests包实现模拟登陆
2018/04/27 Python
python使用knn实现特征向量分类
2018/12/26 Python
Python 实现一行输入多个数字(用空格隔开)
2020/04/29 Python
python多进程下的生产者和消费者模型
2020/05/07 Python
Python调用系统命令os.system()和os.popen()的实现
2020/12/31 Python
使用Python下载抖音各大V视频的思路详解
2021/02/06 Python
matplotlib之pyplot模块之标题(title()和suptitle())
2021/02/22 Python
解决HTML5中滚动到底部的事件问题
2019/08/22 HTML / CSS
瑞典耳机品牌:URBANISTA
2019/12/03 全球购物
彩妆大赛策划方案
2014/05/13 职场文书
启动仪式策划方案
2014/06/14 职场文书
党员批评与自我批评思想汇报(集锦)
2014/09/14 职场文书
国庆放假通知怎么写
2015/07/30 职场文书
my.ini优化mysql数据库性能的十个参数(推荐)
2021/05/26 MySQL