今天闲来无事,实现了一下现在常见的页面加载的载入进度条,下面就是使用方法,很简单的几句话,有需要的朋友可以拿去。本文实例讲述了js实现进度条的方法。分享给大家供大家参考。具体实现方法如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style>
*{
margin: 0;
padding: 0;
}
#progress{
width: 100%;
height: 30px;
background: rgb(42, 138, 248);
}
#bar{
width: 1%;
height: 28px;
margin-top: 1px;
background: purple;
}
</style>
</head>
<body>
<div id="progress">
<div id="bar"></div>
</div>
<div><h3 id="text-progress">0%</h3></div>
<input type="button" id=“btn” value="点击开始" onclick="action()">
</body>
<script>
function action(){
var iSpeed=1;
obj=setInterval(function(){
iSpeed+=1;
if(iSpeed>=100){ // 设置达到多少进度后停止
clearInterval(obj);
}
bar.style.width=iSpeed+'%';
document.getElementById('text-progress').innerHTML=iSpeed+'%';
},100); // 1s后函数执行一次
}
</script>
</html>
写完之后发现有个bug,点击开始后再次点击进度条会再次执行
解决办法:
1、点击开始后,将button的disabled设置为disabled,使不能再次点击
2、添加判断,给出message提示,如果进度条在进行中再次点击给一个alter提示
ps:
setTimeout和setInterval区别
setTimeout() 只执行 code 一次。如果要多次调用,请使用 setInterval() ,setInterval() 方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭,或者让 code 自身再次调用 setTimeout()。
希望本文所述对大家的javascript程序设计有所帮助。
原文链接:https://www.qiquanji.com/post/7123.html
本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。
微信扫码关注
更新实时通知
