首页 期权学习期权知识正文

js实现进度条的方法

xiaojiucai 期权知识 2020-08-18 587 0

今天闲来无事,实现了一下现在常见的页面加载的载入进度条,下面就是使用方法,很简单的几句话,有需要的朋友可以拿去。本文实例讲述了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

本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。