js进度条实现原理

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        * {
            padding: 0;
            margin: 0;
        }

        #outline {
            /* 定义进度条的外边轮廓 */
            width: 600px;
            height: 40px;
            border: 1px solid lightgray;
            margin-top: 50px;
            margin-left: 10px;
            border-radius: 20px;
        }

        #initial-position {
            /* 进度条起始位置,我们将通过js来控制它的当前进度 */
            width: 0;
            height: 40px;
            background-color:#409EFF;/*进度条的填充颜色*/
            border-radius: 20px;
        }

        #current-progress {
            /* 监听百分比进度 */
            margin-left: 10px;
        }
    </style>
</head>

<body>
    <div id="outline">
        <div id="initial-position"></div>
    </div>
    <span id="current-progress"></span>
    <script>
        let i = 0;//初始化一个计时器
        let timer = setInterval(() => {//开启一个计时模式
            i = i + 10;
            document.getElementById("initial-position").style.width = i + "px";//让进度条的宽度每1毫秒+10px
            document.getElementById("current-progress").innerHTML = parseInt((i / 600) * 100) + "%";//控制文字百分比的实时跟踪
            if (i >= 600) {//如果大于进度的宽度,证明已经加载完毕了
                clearInterval(timer);//进度条加载完毕后,让计时器停下来
                confirm(‘进度条已经加载完毕!‘)
            }
        }, 120)
    </script>
</body>
</html>

js进度条实现原理

上一篇:界面控件DevExpress v21.2.3重磅发布——支持VS 2022 & .NET 6


下一篇:Monent.js在React中设置中文