今天闲来无事,实现了一下现在常见的页面加载的载入进度条,下面就是使用方法,很简单的几句话,有需要的朋友可以拿去。本文实例讲述了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
本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。
微信扫码关注
更新实时通知