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脚本实现Web页面信息交互
Oct 11 Javascript
Js中sort()方法的用法
Nov 04 Javascript
短信提示使用 特效
Jan 19 Javascript
动态刷新 dorado树的js代码
Jun 12 Javascript
自动最大化窗口的Javascript代码
May 22 Javascript
SeaJS入门教程系列之完整示例(三)
Mar 03 Javascript
jQuery中append()方法用法实例
Jan 08 Javascript
javaScript生成支持中文带logo的二维码(jquery.qrcode.js)
Jan 03 Javascript
ES6中Array.copyWithin()函数的用法实例详解
Sep 16 Javascript
vue下拉菜单组件(含搜索)的实现代码
Nov 25 Javascript
JS重学系列之聊聊new操作符
Mar 04 Javascript
Angular 多模块项目构建过程
Feb 13 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
php根据isbn书号查询amazon网站上的图书信息的示例
2014/02/13 PHP
PHP数组操作――获取数组最后一个值的方法
2015/04/14 PHP
php+mysql开发中的经验与常识小结
2019/03/25 PHP
php文件后缀不强制为.php的实操方法
2019/09/18 PHP
Javascript表达式中连续的 &amp;&amp; 和 || 之赋值区别
2010/10/17 Javascript
js借助ActiveXObject实现创建文件
2013/09/29 Javascript
js call方法详细介绍(js 的继承)
2013/11/18 Javascript
jQuery 回调函数(callback)的使用和基础
2015/02/26 Javascript
深入理解JavaScript系列(44):设计模式之桥接模式详解
2015/03/04 Javascript
JS随机调用指定函数的方法
2015/07/01 Javascript
Node.js巧妙实现Web应用代码热更新
2015/10/22 Javascript
详解Vue使用命令行搭建单页面应用
2017/05/24 Javascript
浅谈关于angularJs中使用$.ajax的注意点
2017/08/12 Javascript
jQuery实现的文字逐行向上间歇滚动效果示例
2017/09/06 jQuery
vue刷新和tab切换实例
2018/02/11 Javascript
Element input树型下拉框的实现代码
2018/12/21 Javascript
Webpack4 使用Babel处理ES6语法的方法示例
2019/03/07 Javascript
React优化子组件render的使用
2019/05/12 Javascript
JavaScript中BOM对象原理与用法分析
2019/07/09 Javascript
layui使用label标签的方法
2019/09/14 Javascript
Vue实现base64编码图片间的切换功能
2019/12/04 Javascript
[01:04:02]DOTA2-DPC中国联赛 正赛 Elephant vs IG BO3 第二场 1月24日
2021/03/11 DOTA
python执行等待程序直到第二天零点的方法
2015/04/23 Python
Tensorflow卷积神经网络实例进阶
2018/05/24 Python
Python实现自定义函数的5种常见形式分析
2018/06/16 Python
python并发和异步编程实例
2018/11/15 Python
PowerBI和Python关于数据分析的对比
2019/07/11 Python
通过实例了解python__slots__使用方法
2020/09/14 Python
加拿大著名时装品牌:SOIA & KYO
2016/08/23 全球购物
节省高达65%的城市景点费用:Go City
2019/07/06 全球购物
Java基础面试题
2012/11/02 面试题
乡镇综治宣传月活动总结
2014/07/02 职场文书
党员干部反四风民主生活会对照检查材料思想汇报
2014/10/12 职场文书
大学生心理健康教育心得体会
2016/01/12 职场文书
Html5同时支持多端sdk的小技巧
2021/11/17 HTML / CSS
Win10 Anaconda安装python-pcl
2022/04/29 Servers