计算并显示页面加载进度百分比

2023-11-27

我有一个加载器,它在页面开始加载时加载。我需要显示其中的完成百分比。

我的应用程序包含大量 jquery 和 css,并且还包含 ajax 调用。

到目前为止,我已经在页面加载开始时显示进度条,并在 ajax 成功完成时隐藏它。

另外,我已经显示了百分比,但使用以下代码手动增加了它:

function timeout_trigger() {
    $(".progress").css("max-width", p + "%");
    $(".progress-view").text(p + "%");
    if (p != 100) {
        setTimeout('timeout_trigger()', 50);
    }
    p++;
}
timeout_trigger();

这里的问题是,在进度达到 100 之前,页面加载并显示内容,因此加载器隐藏在中间,比如说 - 在 60% 时 - 加载器被隐藏。

我想动态计算页面加载完成的百分比(即jquery加载时间、css加载时间等)并相应地增加进度。

请帮助解决这个问题..


你可以使用这个:

Source: 在整个页面加载之前显示加载栏

Script

<script>
        ;(function(){
          function id(v){ return document.getElementById(v); }
          function loadbar() {
            var ovrl = id("overlay"),
                prog = id("progress"),
                stat = id("progstat"),
                img = document.images,
                c = 0,
                tot = img.length;
            if(tot == 0) return doneLoading();

            function imgLoaded(){
              c += 1;
              var perc = ((100/tot*c) << 0) +"%";
              prog.style.width = perc;
              stat.innerHTML = "Loading "+ perc;
              if(c===tot) return doneLoading();
            }
            function doneLoading(){
              ovrl.style.opacity = 0;
              setTimeout(function(){ 
                ovrl.style.display = "none";
              }, 1200);
            }
            for(var i=0; i<tot; i++) {
              var tImg     = new Image();
              tImg.onload  = imgLoaded;
              tImg.onerror = imgLoaded;
              tImg.src     = img[i].src;
            }    
          }
          document.addEventListener('DOMContentLoaded', loadbar, false);
        }());
    </script>

HTML(在正文的开头或末尾)

<div id="overlay">
            <div id="progstat"></div>
            <div id="progress"></div>
        </div>

CSS

#overlay{
  position:fixed;
  z-index:99999;
  top:0;
  left:0;
  bottom:0;
  right:0;
  background:rgba(0,0,0,0.9);
  transition: 1s 0.4s;
}
#progress{
  height:1px;
  background:#fff;
  position:absolute;
  width:0;
  top:50%;
  transition: 1s;
}
#progstat{
  font-size:0.7em;
  letter-spacing: 3px;
  position:absolute;
  top:50%;
  margin-top:-40px;
  width:100%;
  text-align:center;
  color:#fff;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

计算并显示页面加载进度百分比 的相关文章

  • Chrome 扩展程序在代码中使用 client_secret

    我正在开发具有自己的 oAuth 授权的 Google Chrome 扩展 当然 我必须使用 client id 和 client secret 作为请求令牌 有什么办法可以向用户隐藏这些数据吗 由于此请求只是 javascript 源代码
  • jQuery:处理 getJSON() 中的错误?

    使用 jQuery 时如何处理 500 错误getJSON http api jquery com jQuery getJSON 有几个关于错误处理的问题getJSON and https stackoverflow com questio
  • 网站的主体和元素固定在 980px 宽度上,不会缩小

    我试图在 Rails 应用程序顶部启动前端 仅 HTML CSS 页面 但在使用 320px 视口时遇到问题 有些元素不会按比例缩小 我不明白为什么 我已经完成了检查元素 为各种元素提供了max width 100 and or width
  • 不可勾选的单选按钮与专有的复选框

    从 UI 角度来看 是拥有一组具有取消选中功能的单选按钮更好 还是拥有一组独占的复选框 意味着一次只能选中一个 更好 Update 我没想到对此会有如此负面的反应 如果我给出一个更接近其使用方式的示例 也许会有所帮助 我有一个充满数据绑定内
  • 页面上使用 HTML Editor Extender 进行回发会导致 IE11 中出现 JavaScript 错误

    我已将 HTML 编辑器扩展程序添加到我正在处理的页面中 现在每当我在页面上发回帖子时 都会收到以下 Javascript 错误 JavaScript 运行时错误 参数无效 之后什么也没有发生 这在 IE10 或更低版本以及我所知道的所有其
  • Jquery一键提交多个同名表单

    我有动态创建的循环表单 我需要一键提交所有表单 我正在遵循下面的代码 你能建议我怎么做吗 谢谢
  • 图像背景不透明度不影响边框

    如何设置背景不透明度而不影响边框线不透明度 我找到的解决方案没有帮助 div class selected img src assets img image product 1 thumbnail jpg alt product 1 thu
  • 可以设置标题样式吗? (并且使用CSS或js?)[重复]

    这个问题在这里已经有答案了 我想知道是否可以设计一个title a href title This is a title Hello a 样式问题有两个方面 文本格式 编码 我猜这是可能的 所以在问题中这样做 工具提示样式 你能把它弄大一点
  • 从数据库检查数据的异步解决方案各种循环子句

    我想要做的是异步检查数据库并从中获取结果 在我的应用程序中我试图实现Asynchronously将此步骤解决为 从数据库中检查手机号码JsonArray循环子句的种类 Create JsonArray从结果 打印创建的数组 我学到了足够多的
  • 在移动设备上滚动

    这个问题更多的是一个建议研究 我确实希望它对其他人有帮助 并且它不会关闭 因为我不太确定在哪里寻求有关此事的建议 在过去的 6 个月里 我一直在进行移动开发 我有机会处理各种设备上的各种情况和错误 最麻烦的是滚动问题 当涉及到在网站的多个区
  • 日期出现奇怪的错误,“未捕获非法访问”

    所以我试图找到最新的DateJavascript 可以处理 我把它减少到 9 月 275760 并增加了我开始捕获未捕获的天数illegal access例外new Date 09 24 275760 to new Date 10 13 2
  • 使用css bootstrap时如何仅向一列添加右边框?

    我正在尝试使用CSS引导框架 http getbootstrap com css tables在我的项目中 我正在使用带有以下类的表table table bordered table striped 我想删除除第一列之外的所有列的边框 这
  • 在 JavaScript 循环之外声明变量可以提高速度和内存?

    C 也有类似的问题 但我们没有看到 JavaScript 的任何问题 在循环内声明变量是否可以接受 假设循环有 200 次迭代 使用样本 2 相对于样本 1 是否有性能要求 内存和速度 我们使用 jQuery 来循环 它提高了我们将 var
  • 如何隐藏/禁用 Highcharts.js 中的图例框?

    我想问是否可以使用 HighCharts js 库隐藏图表中的所有图例框 var chart object chart renderTo render to type graph type colors graph colors title
  • 如何用另一个响应替换窗口的 URL 哈希?

    我正在尝试使用替换方法更改哈希 URL document location hash 但它不起作用 function var anchor document location hash this returns me a string va
  • 在 CKEditor 中设置字体大小和字体系列

    我正在使用 ckeditor 我想问一下这个插件如何设置font family和font size 我尝试过使用 CKEDITOR config font defaultLabel Arial CKEDITOR config fontSiz
  • 如何使用asm.js进行测试和开发?

    最近我读到asm js规范 看起来很酷 但是是否有任何环境 工具来开发和测试这个工具 这还只是处于规范阶段吗 您可以尝试使用 emscripten 和 ASM JS 1 并从侧分支在 firefox 构建中运行它 有关 asm js 的链接
  • Vue.js[vuex] 如何从突变中调度?

    我有一个要应用于 json 对象的过滤器列表 我的突变看起来像这样 const mutations setStars state payload state stars payload this dispatch filter setRev
  • CSS溢出文本显示在几行中,没有断字

    我有一些长文本显示在 div 中 该 div 具有固定的宽度和高度 我希望文本显示在几行上 作为 div 高度 并且句子单词不会中断 一行中的单词前缀和下一行中的继续 此外 我想在末尾添加省略号最后一句话 CSS white space n
  • 如何在react-highcharts中使用图表工具提示格式化程序?

    如何使用图表工具提示格式化程序 我正在使用高图表的反应包装器 我有这样的配置 const CHART CONFIG tooltip formatter tooltip gt var s b this x b each this points

随机推荐

  • Node.js + Socket.io + Apache

    我正在寻找一种通过以下方式集成 Node js Socket io Apache 的方法 我希望 apache 继续提供 HTML JS 文件 我希望 node js 侦听端口 8080 上的连接 如下所示 var util require
  • Go 接口有哪些示例?

    I found 一篇有趣的博客文章关于围棋 我试图理解接口的概念 但我发现从博客文章中的代码片段来看很难做到这一点 而且几乎不可能语言规范 谁能指出一个工作程序中 Go 接口的简单示例 这是一个正在进行的学习练习 当然也是良好风格的一个糟糕
  • 从字符串列表中删除空字符串

    我想从 python 的字符串列表中删除所有空字符串 我的想法是这样的 while in str list str list remove 有没有更多的Pythonic方法来做到这一点 我会用filter str list filter N
  • Identity Core 的密码历史记录

    密码历史记录有默认实现吗 我正在尝试在我的项目中使用身份来实现该功能 因此我添加了包含密码哈希值的密码历史表 当用户更改密码时 usermanager 会生成密码的哈希值 var passwordHash userManager Passw
  • 如何签署 MSI?

    我的公司希望阻止客户安装我们的产品时出现的 UAC 弹出窗口 我们从 VeriSign VeriSign Class 3 Code Signing 2010 CA 购买了证书 我得到了一个 MyCompany cer 文件 我通过双击证书并
  • 如何将 sockaddr_in6::sin6_addr 字节顺序设置为网络字节顺序?

    我开发了一个网络应用程序并使用套接字 API 我想设置sockaddr in6结构的sin6 addr字节顺序 对于 16 位或 32 位变量 很简单 使用 htons 或 htonl IPv4 sockaddr in addr addr
  • OpenCV findFundamentalMat 非常不稳定且敏感

    我正在为我的大学开展一个项目 我们希望四轴飞行器能够用他的相机稳定自己 不幸的是 基本矩阵对特征点内的微小变化反应非常敏感 我稍后会给你例子 我认为由于 ocv 我的匹配已经工作得很好了 我正在使用 SURF 特征并将它们与 knn Met
  • 约束表达式无效

    下列代码示例与 GCC 12 2 和 MSVC 19 33 不同 它不能使用 Clang 15 或 Clang trunk 进行编译 嵌套required子句中的约束表达式是否无效 struct t constexpr auto b con
  • 使用 Rangy 保存其位置时,插入符号在 Firefox 中消失

    这种情况仅发生在 Firefox 中 重要提示 我正在保存插入符的位置rangy saveSelection 当点击内容可编辑div时 on keyup 将外部 html 元素 作为节点 添加到内容可编辑 div 时 我需要通过多种方式不断
  • Javascript 中的条形图:堆叠条形图 + 分组条形图

    我正在寻找一个 Javascript 解决方案 将分组和堆叠条形图与漂亮的图表混合在一起 例如由Protovis 例如 如果我想比较 Apple iPad iPhone 设备和 Android 设备上的下载量 我可能会这样做 请原谅我糟糕的
  • 解码或转义 \u00f0\u009f\u0091\u008d 为

    我们都知道 UTF 8 很难 我从 Facebook 导出消息 生成的 JSON 文件将所有非 ASCII 字符转义为 unicode 代码点 我正在寻找一种简单的方法来将这些 un icode 代码点转义为常规的旧 UTF 8 我也很想使
  • 在python中创建非阻塞套接字

    我试图了解非阻塞套接字是如何工作的 所以我用 python 编写了这个简单的服务器 import socket s socket socket socket AF INET socket SOCK STREAM s bind 127 0 0
  • C++中的指针和C#中的引用类型之间的区别

    在 C 中 指针是指向存储另一个变量的内存地址的指针 而在 C 中 引用在某种程度上是相同的 这两者有什么区别 在 C 中 引用类型在不再需要时将被自动垃圾回收
  • 激活器:Play Framework 2.3.x:运行与启动

    为什么这两个命令的行为不同 在生产模式下启动游戏和在开发模式下启动游戏不同吗 activator run Dconfig file myConfig conf works activator run Dconfig file myConfi
  • Metastore 中分区但 HDFS 中不存在路径

    我们的摄取过程存在问题 这会导致分区被添加到 Hive 中的表中 但 HDFS 中的路径实际上并不存在 我们已经解决了这个问题 但仍然存在这些坏分区 当使用 Tez 查询这些表时 我们收到 FileNotFound 异常 指向 HDFS 中
  • 将ios 5模拟器安装到xcode 5.1?

    我目前在 Mac 10 8 5 上使用 xcode 5 1 但我无法在这个 xcode 中安装 ios 模拟器 有人告诉我如何安装ios 5模拟器吗 伙计 这个really今天 当我从 Xcode 5 0 升级到 Xcode 5 1 并发现
  • 为什么 String.IndexOf 和 String.Contains 在提供阿拉伯文本时不一致?

    我想知道我是否在 NET Framework 中发现了错误 或者我是否不明白某些内容 运行这段代码后 var text var word bool exist text Contains word int index text IndexO
  • Composer 2,您的某些插件似乎与它不兼容

    我尝试从 magento 市场安装扩展 但出现不兼容错误 问题1 magento composer root update plugin 已锁定到版本 1 0 0 并且未请求更新此包 magento composer root update
  • 如何自定义要在“添加更多 portlet”菜单中显示的 portlet

    我需要自定义哪个 portlet 出现在 添加更多 portlet 菜单 中 如下图所示 我需要根据登录的用户或站点 社区 限制此菜单中显示的 portlet 数量 这样 站点所有者或站点管理员将能够仅将全能管理员为他们决定的那些 port
  • 计算并显示页面加载进度百分比

    我有一个加载器 它在页面开始加载时加载 我需要显示其中的完成百分比 我的应用程序包含大量 jquery 和 css 并且还包含 ajax 调用 到目前为止 我已经在页面加载开始时显示进度条 并在 ajax 成功完成时隐藏它 另外 我已经显示