【JS】模拟进度条

本文介绍如何使用HTML、CSS和JavaScript创建一个可控制的进度条,点击开始后,进度条从0%自动增加到100%,并可通过多次点击暂停和继续。代码示例详细展示了如何利用setInterval和clearInterval实现动画效果。
摘要由CSDN通过智能技术生成

效果图

在这里插入图片描述
点击“开始”按钮,进度条从0到100,自动停止,可多次点击

HTML

<div id="box">
        <div class="bar">
            <span>0%</span>
        </div>
    </div>
    <button onclick="fn()">开始</button>

CSS

#box {
            width: 400px;
            height: 300px;
            position: relative;
            border: solid 1px black;
            margin: 50px auto;
        }

        .bar {
            width: 0px;
            height: 30px;
            background: green;
            border-radius: 6px;
            position: absolute;
            top: 135px;
            line-height: 30px;
            text-align: center;
            color: #fff;
        }

JS

//进度条所在的盒子,调整其宽度可实现进度条效果
        var bar = box.querySelector(".bar");
        //进度条上显示的数字,调整其内容
        var span = box.querySelector('span');
        var w = 400;//最终宽度
        var times;//计时器
        function fn() {
            var wSmall = 0;//初始宽度为0
            times = setInterval(function () {
                wSmall += 20;//每次加20
                bar.style.width = wSmall + 'px';//宽度改变
                if (wSmall >= w) {//如果宽度超过最终宽度
                    clearInterval(times);//清空定时器
                }else{//设置进度条上的文字
                    span.innerHTML=Math.ceil(wSmall/10*2.62)+'%';
                }
            }, 100);
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值