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 相关文章推荐
Javascript 跨域访问解决方案
Feb 14 Javascript
JavaScript 保存数组到Cookie的代码
Apr 14 Javascript
JQuery之focus函数使用介绍
Aug 20 Javascript
javascript 中__proto__和prototype详解
Nov 25 Javascript
jq实现左滑显示删除按钮,点击删除实现删除数据功能(推荐)
Aug 23 Javascript
JavaScript 轮播图和自定义滚动条配合鼠标滚轮分享代码贴
Oct 28 Javascript
关于vue.js v-bind 的一些理解和思考
Jun 06 Javascript
详解Vue.js搭建路由报错 router.map is not a function
Jun 27 Javascript
javascript用rem来做响应式开发
Jan 13 Javascript
vue中如何使用ztree
Feb 06 Javascript
9102年webpack4搭建vue项目的方法步骤
Feb 20 Javascript
vue鼠标悬停事件实例详解
Apr 01 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
受疫情影响 动画《Re从零开始的异世界生活》第二季延期至7月
2020/03/10 日漫
PHP实时显示输出
2008/10/02 PHP
PHP XML操作类DOMDocument
2009/12/16 PHP
PHP isset()与empty()的使用区别详解
2010/08/29 PHP
PHP中使用mktime获取时间戳的一个黑色幽默分析
2012/05/31 PHP
phpmyadmin配置文件现在需要绝密的短密码(blowfish_secret)的2种解决方法
2014/05/07 PHP
Yii框架ACF(accessController)简单权限控制操作示例
2019/04/26 PHP
php中的buffer缓冲区用法分析
2019/05/31 PHP
javascript 文件的同步加载与异步加载实现原理
2012/12/13 Javascript
有关于eclipse配置spket需要注意的一些地方
2013/04/07 Javascript
jQuery对象和DOM对象之间相互转换的方法介绍
2015/02/28 Javascript
jQuery的position()方法详解
2015/07/19 Javascript
Bootstrap学习系列之使用 Bootstrap Typeahead 组件实现百度下拉效果
2016/07/07 Javascript
BootStrap实现带有增删改查功能的表格(DEMO详解)
2016/10/26 Javascript
canvas 实现中国象棋
2017/02/17 Javascript
深入理解ES7的async/await的用法
2017/09/09 Javascript
解决echarts中横坐标值显示不全(自动隐藏)问题
2020/07/20 Javascript
封装 axios+promise通用请求函数操作
2020/08/11 Javascript
实例讲解Python的函数闭包使用中应注意的问题
2016/06/20 Python
python函数的5种参数详解
2017/02/24 Python
在python中使用正则表达式查找可嵌套字符串组
2017/10/24 Python
Python3解决棋盘覆盖问题的方法示例
2017/12/07 Python
Python使用Matplotlib实现Logos设计代码
2017/12/25 Python
Python3 queue队列模块详细介绍
2018/01/05 Python
Python之pymysql的使用小结
2019/07/01 Python
python定位xpath 节点位置的方法
2019/08/27 Python
Python3视频转字符动画的实例代码
2019/08/29 Python
python rsa实现数据加密和解密、签名加密和验签功能
2019/09/18 Python
Python Tornado之跨域请求与Options请求方式
2020/03/28 Python
美国隐形眼镜零售商:LensPure
2019/03/10 全球购物
触发器(trigger)的功能都有哪些?写出一个触发器的例子
2012/09/17 面试题
《母鸡》教学反思
2014/02/25 职场文书
教师个人发展总结
2015/02/11 职场文书
奖金申请报告模板
2015/05/15 职场文书
新娘婚礼致辞
2015/07/27 职场文书
2016感恩父亲节主题广播稿
2015/12/18 职场文书