LoadinG

一段简单的网页顶部加载进度条JS代码简洁实现

本文阅读 2 分钟
首页 程序代码 正文

通过CSS 和 JS 实现,打开网页加载的过程中,进度条跟随网页的加载速度而载入,直到网页加载完毕后隐藏;

HTML代码

<div id="progress-bar"></div>

CSS代码

#progress-bar {
    position: fixed;
    top: 0;
    left: 0;
    width: 0; 
    height: 5px;
    background-color: #4caf50;
    transition: width 0.3s linear; 
    z-index: 9999;
}

JS代码

// 创建一个变量来追踪加载进度
let loadProgress = 0;
let progressBar;
 
// 当DOM加载开始时初始化进度条
document.addEventListener('DOMContentLoaded', function() {
    progressBar = document.getElementById('progress-bar');
    progressBar.style.width = '0%';
    progressBar.style.display = 'block';
    
    // 快速增加到10%
    loadProgress = 10;
    progressBar.style.width = loadProgress + '%';
});
 
// 页面完全加载时完成进度条
window.addEventListener('load', function() {
    // 从当前进度平滑过渡到100%
    let interval = setInterval(function() {
        if (loadProgress >= 100) {
            clearInterval(interval);
            // 完成后延迟隐藏进度条
            setTimeout(function() {
                progressBar.style.display = 'none';
            }, 500);
            return;
        }
        loadProgress += 2;
        progressBar.style.width = loadProgress + '%';
    }, 20);
});
 
// 如果加载时间过长,缓慢增加进度
let slowProgress = setInterval(function() {
    if (loadProgress >= 90) {
        clearInterval(slowProgress);
        return;
    }
    if (loadProgress < 90) {
        loadProgress += 0.5;
        if (progressBar) {
            progressBar.style.width = loadProgress + '%';
        }
    }
}, 100);

打开您的网络浏览器中的文件,您将看到的内容:绿色进度栏将出现在页面顶部,它将迅速跳至10%的DOM时,当DOM准备就绪时,然后在页面上很长时间就可以平稳地增加了一定的时间。即使您滚动,栏也可以固定在页面顶部。

文章采用:署名-非商业性使用-相同方式知识共享 署名 4.0 协议国际版 (CC BY-NC-SA 4.0) 许可协议授权。
免责声明:本页面资源来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系客服并出示版权证明以便删除。
分享
网站如何规范的调用 favicon.ico 和图标属性的规范使用指南
« 上一篇 06-03
UEditorPlus 开源免费编辑器轻量级代码编辑工具下载
下一篇 » 06-14

发表评论 Comment

您必须 后才能发表评论哦~
昵称
请输入您的昵称
邮箱
输入QQ邮箱可获取头像
网址
可通过昵称访问您网站
快捷回复: 验证码:
让大家也知道你的独特见解
已有 0 条评论

动态快讯

热门文章

QQ客服:3236485 QQ群号:530123520

在线时间:09:00-18:00

扫描二维码

联系官方客服微信号

扫描二维码

关注官方微信公众号