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 相关文章推荐
jQuery EasyUI API 中文文档 - Tree树使用介绍
Nov 19 Javascript
javascript 随机展示头像实现代码
Dec 06 Javascript
jQuery中fadeIn、fadeOut、fadeTo的使用方法(图片显示与隐藏)
May 08 Javascript
基于JavaScript实现一定时间后去执行一个函数
Dec 14 Javascript
jquery插件bootstrapValidator数据验证详解
Nov 09 Javascript
jquery实现文本框的禁用和启用
Dec 07 Javascript
vue-cli项目如何使用vue-resource获取本地的json数据(模拟服务端返回数据)
Aug 04 Javascript
vue 表单验证按钮事件交由父组件触发的方法
Dec 17 Javascript
jQuery中实现text()的方法
Apr 04 jQuery
vuex实现数据状态持久化
Nov 11 Javascript
基于JavaScript实现简单的轮播图
Mar 03 Javascript
教你一步步实现一个简易promise
Nov 02 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
用缓存实现静态页面的测试
2006/12/06 PHP
讲解WordPress中用于获取评论模板和搜索表单的PHP函数
2015/12/28 PHP
php设计模式之职责链模式实例分析【星际争霸游戏案例】
2020/03/27 PHP
JS上传前预览图片实例
2013/03/25 Javascript
一个JavaScript操作元素定位元素的实例
2014/10/29 Javascript
javascript之with的使用(阿里云、淘宝使用代码分析)
2016/10/11 Javascript
如何使用bootstrap框架 bootstrap入门必看!
2017/04/13 Javascript
mint-ui的search组件在键盘显示搜索按钮的实现方法
2017/10/27 Javascript
详解React Native 采用Fetch方式发送跨域POST请求
2017/11/15 Javascript
vue 全选与反选的实现方法(无Bug 新手看过来)
2018/02/09 Javascript
Vue使用mixins实现压缩图片代码
2018/03/14 Javascript
nodejs前端模板引擎swig入门详解
2018/05/15 NodeJs
vue点击当前路由高亮小案例
2019/09/26 Javascript
微信小程序表单验证WxValidate的使用
2019/11/27 Javascript
Vue.js 实现地址管理页面思路详解(地址添加、编辑、删除和设置默认地址)
2019/12/11 Javascript
[42:32]DOTA2上海特级锦标赛B组资格赛#2 Fnatic VS Spirit第二局
2016/02/27 DOTA
[01:51]开启你的城市传奇 完美世界城市挑战赛开始报名
2018/10/09 DOTA
[01:08:43]DOTA2-DPC中国联赛定级赛 Phoenix vs DLG BO3第一场 1月9日
2021/03/11 DOTA
Python编程中的异常处理教程
2015/08/21 Python
Python实现霍夫圆和椭圆变换代码详解
2018/01/12 Python
Python Pandas找到缺失值的位置方法
2018/04/12 Python
Pycharm IDE的安装和使用教程详解
2020/04/30 Python
解决pycharm debug时界面下方不出现step等按钮及变量值的问题
2020/06/09 Python
Python使用itcaht库实现微信自动收发消息功能
2020/07/13 Python
Python根据字典的值查询出对应的键的方法
2020/09/30 Python
celery在python爬虫中定时操作实例讲解
2020/11/27 Python
amaze ui 的使用详细教程
2020/08/19 HTML / CSS
施华洛世奇意大利官网:SWAROVSKI意大利
2018/07/23 全球购物
Nicole Miller官方网站:纽约女装品牌
2019/09/14 全球购物
企业指导教师评语
2014/04/28 职场文书
委托书格式
2014/08/01 职场文书
2014年幼儿园教学工作总结
2014/12/04 职场文书
高三英语复习计划
2015/01/19 职场文书
给老婆的道歉信
2015/01/20 职场文书
村党总支部公开承诺书2016
2016/03/25 职场文书
springboot 启动如何排除某些bean的注入
2021/08/02 Java/Android