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实现点击栏目背景色改变
Dec 10 Javascript
JQuery调webservice实现邮箱验证(检测是否可用)
May 21 Javascript
jquery通过a标签删除table中的一行的代码
Dec 02 Javascript
jquery实现tr元素的上下移动示例代码
Dec 20 Javascript
深入探寻seajs的模块化与加载方式
Apr 14 Javascript
快速解决Canvas.toDataURL 图片跨域的问题
May 10 Javascript
html+js实现简单的计算器代码(加减乘除)
Jul 12 Javascript
Angular2利用组件与指令实现图片轮播组件
Mar 27 Javascript
基于jQuery实现的设置文本区域的光标位置
Jun 15 jQuery
Vue前后端不同端口的实现方法
Sep 19 Javascript
JS中使用react-tooltip插件实现鼠标悬浮显示框
May 15 Javascript
vue里使用create, mounted调用方法
Apr 26 Vue.js
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
PHP 5.3新特性命名空间规则解析及高级功能
2010/03/11 PHP
WebQQ最新登陆协议的用法
2014/12/22 PHP
PHP中static关键字以及与self关键字的区别
2015/07/01 PHP
PHP计算加权平均数的方法
2015/07/16 PHP
PHP实现生成数据字典功能示例
2018/05/24 PHP
深入认识JavaScript中的函数
2007/01/22 Javascript
Some tips of wmi scripting in jscript (1)
2007/04/03 Javascript
类似CSDN图片切换效果脚本
2009/09/17 Javascript
jQuery 常见操作实现方式和常用函数方法总结
2011/05/06 Javascript
怎么选择Javascript框架(Javascript Framework)
2013/11/22 Javascript
JavaScript的各种常见函数定义方法
2014/09/16 Javascript
JQUERY实现网页右下角固定位置展开关闭特效的方法
2015/07/27 Javascript
jQuery中$.ajax()和$.getJson()同步处理详解
2015/08/12 Javascript
vue 组件使用中的一些细节点
2018/04/25 Javascript
vue中的router-view组件的使用教程
2018/10/23 Javascript
[50:24]VGJ.S vs Pain 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
Python基本数据类型详细介绍
2014/03/11 Python
Python中的高级数据结构详解
2015/03/27 Python
在DigitalOcean的服务器上部署flaskblog应用
2015/12/19 Python
python中enumerate函数遍历元素用法分析
2016/03/11 Python
Pycharm中import torch报错的快速解决方法
2020/03/05 Python
Django中Q查询及Q()对象 F查询及F()对象用法
2020/07/09 Python
python 统计list中各个元素出现的次数的几种方法
2021/02/20 Python
实例讲解使用CSS实现多边框和透明边框的方法
2015/09/08 HTML / CSS
意大利大型购物中心:Oliviero.it
2017/10/19 全球购物
Wiggle美国:英国骑行、跑步、游泳、铁人三项商店
2018/10/27 全球购物
网上常见的一份Linux面试题(多项选择部分)
2014/09/09 面试题
新入职员工的自我介绍演讲稿
2014/01/02 职场文书
《海底世界》教学反思
2014/04/16 职场文书
校园元旦活动总结
2014/07/09 职场文书
小学生自我评价100字(15篇)
2014/09/18 职场文书
法学专业大学生实习自我鉴定
2014/10/05 职场文书
幸福终点站观后感
2015/06/04 职场文书
Python中使用subprocess库创建附加进程
2021/05/11 Python
JS的深浅复制详细
2021/10/16 Javascript
Python如何加载模型并查看网络
2022/07/15 Python