网页进度条能够更好的反应当前网页的加载进度情况,loading进度条可用动画的形式从开始0%到100%完成网页加载这一过程。

首先我们要知道的是,目前没有任何浏览器可以直接获取正在加载对象的大小。所以我们无法通过数据大小来实现0-100%的加载显示过程。

因此我们需要通过html代码逐行加载的特性,在整页代码的若干个跳跃行数中设置节点,进行大概的模糊进度反馈来实现进度加载的效果。大致意思是:页面每加载到指定区域,则返回(n)%的进度结果,通过设置多个节点,来达到一步一步显示加载进度的目的。

假如有一个页面,按区块分为页头、左侧内容、右边侧栏、页脚四部分,我们把这四部分作为四个节点,当页面加载每一个节点后,设置大概加载百分比,页面结构如下:

< div id = "header" >
页头部分
</ div >
< div id = "mainpage" >
左侧内容
</ div >
< div id = "sider" >
右边侧栏
</ div >
< div id = "footer" >
页脚部分
</ div >

然后我们在<body>下的第一行加上进度条.loading。

<div class="loading"></div>

CSS

我们要设置loading进度条的样式,设置背景色,高度,以及位置,优先级等。

.loading{
  background: #FF6100; //设置进度条的颜色
  height:5px; //设置进度条的高度
  position:fixed; //设定进度条跟随屏幕滚动
  top:0; //将进度条固定在页面顶部
  z-index:99999 //提高进度条的优先层级,避免被其他层遮挡
}

JQuery

<div id= "header" >
页头部分</div>
<script type= "text/javascript" >
  $( '.loading' ).animate({ 'width' : '33%' },50);
  //第一个进度节点
</script>
<div id= "mainpage" >
左侧内容
</div>
<script type= "text/javascript" >
  $( '.loading' ).animate({ 'width' : '55%' },50);
//第二个进度节点
</script>
<div id= "sider" >
右边侧栏
</div>
<script type= "text/javascript" >
  $( '.loading' ).animate({ 'width' : '80%' },50);
//第三个进度节点
</script>
<div id= "footer" >
页脚部分
</div>
<script type= "text/javascript" >
  $( '.loading' ).animate({ 'width' : '100%' },50);
  //第四个进度节点
</script>

可以看出,没加载一个节点后,jQuery调用animate()动画方法实现进度条宽度的变化,每个节点变化以50毫秒时间让进度条看起来更流畅些,最终从0%变化到100%,完成了进度条的进度动画。
当进度条达到100%后,页面加载完成,最后还有一步要做的就是隐藏进度条。

$(document).ready( function (){
  $( '.loading' ).fadeOut(); 
});

实例项目如下:

H5页面标题栏部分加载进度条0%-100%相关推荐

  1. 浅谈前端实现页面加载进度条以及 nprogress.js 的实现

    以前在 Vue 的项目用了 nprogress 这个插件,一直对于其如何得知加载进度充满好奇,最近又看到了「前端如何实现页面加载进度条」这个问题,今天周六恰好一探究竟.以下仅为一家之言,如有异议,欢迎 ...

  2. Vue项目实战06:nprogress页面加载进度条

    博客: https://lvsige.top/ nprogress页面加载进度条 前言 很多时候在访问网页的时候我们总是看到页面在加载中,可以却不知道要加载多久,无期限的等待总是让人烦躁不安,所以我们 ...

  3. 【原生JS插件】LoadingBar页面顶部加载进度条

    先展示一下已经实现的效果: 预览地址:http://dtdxrk.github.io/js-plug/LoadingBar/index.html 看到手机上的浏览器内置了页面的加载进度条,想用在pc上 ...

  4. php+页面加载进度,基于jQuery实现模拟页面加载进度条_jquery

    因为我们无法通过任何方法获取整个页面的大小和当前加载了多少,所以想制作一个加载进度条的唯一办法就是模拟.那要怎么模拟呢? 我们知道,页面是从上往下执行的,也就是说我们可以大致估算出在页面的某个位置加载 ...

  5. js网页顶部线性页面加载进度条,jquery头部线性进度条总结

    前言 网页顶部加载进度条,近年来很流行,很多网站都采用了这种加载方式.网上也有这样类似的插件,今天我们总结一下网页顶部线性页面加载进度条. 头部LoadingBar线性进度条总结 上面的代码只是静态效 ...

  6. Vue:页面加载进度条

    这段时间在踩Ant design pro Vue的坑,发现了个在手机端页面上经常出现的,加载进度条,效果蛮不错的!记录下来. cnpm install --save nprogress import ...

  7. jquery ajax加载页面进度条,基于jQuery实现模拟页面加载进度条

    因为我们无法通过任何方法获取整个页面的大小和当前加载了多少,所以想制作一个加载进度条的唯一办法就是模拟.那要怎么模拟呢? 我们知道,页面是从上往下执行的,也就是说我们可以大致估算出在页面的某个位置加载 ...

  8. WKWebView Safari调试、JS互调、加载进度条、JS中alert、confirm、prompt

    主要内容 Safari调试 swift/OC与JS互调 增加加载进度条 支持JS中alert.confirm.prompt Safari调试 设置 -> safari --> 高级,开启J ...

  9. iview地区加载_LoadingBar 加载进度条

    LoadingBar 加载进度条 概述 全局创建一个显示页面加载.异步请求.文件上传等的加载进度条. 说明 LoadingBar 只会在全局创建一个,因此在任何位置调用的方法都会控制这同一个组件.主要 ...

最新文章

  1. 序列化/反序列化,我忍你很久了,淦!
  2. Galaxy生物信息分析平台的数据集对象清理
  3. (转)基于MVC4+EasyUI的Web开发框架经验总结(14)--自动生成图标样式文件和图标的选择操作...
  4. 用VLC读取摄像头产生RTSP流,DSS主动取流转发(一)
  5. Matlab | 数字信号处理:用窗函数法设计FIR数字滤波器
  6. 使用Guava MapSplitters配置Hadoop
  7. JDK 9.0.4 报错:程序包 com.sun.xml.internal.fastinfoset.stax.events 不存在/不可见
  8. 前端学习(1910)vue之电商管理系统电商系统之完成用户的修改
  9. c语言中空格算空行吗,1、程序中空格与空行使用规范
  10. 第四章 生命周期函数--36 结合Node手写JSONP服务器剖析JSONP原理
  11. 蚂蚁金服CTO程立:金融级分布式交易的技术路径
  12. android经典动态壁纸,android中自定义动态壁纸
  13. php app用户验证失败,无法验证app需要互联网连接以认证 建议更换登陆的AppleID
  14. Mac电脑用预览功能调整图像大小?Mac调整图片大小方法
  15. 内网建站 NAT穿透 局域网穿透
  16. EMC硬件设计规范与滤波器使用注意事项
  17. “三方演义”与性能优化
  18. ORA-12528: TNS: 监听程序: 所有适用例程都无法建立新连接
  19. 第 3 章 基本数据类型
  20. 基于shiro的按钮级别的权限管理系统

热门文章

  1. python 图像识别 1
  2. Ares Protocol 品牌全线升级,覆盖全栈产品
  3. Kotlin基础语法(上)
  4. 3D点云数据结合深度学习入门基础(目标篇)
  5. 用React做一个音乐播放器
  6. Vue.js教程(一)
  7. Cost Estimate Update
  8. Java重写hashcode方法
  9. DX-BT07S蓝牙调试问题记录
  10. 安装ubuntu成功后不能重启(nomodeset)