jquery网页加载进度条的实现


Posted in jQuery onJune 01, 2017

本次主要介绍一下网页加载进度的实现。如下图,在页面加载的时候,上方红色的进度条

jquery网页加载进度条的实现

网页加载进度的好处是能够更好的反应当前网页的加载进度情况,loading进度条可用动画的形式从开始0%到100%完成网页加载这一过程。但是目前的浏览器并没有提供页面加载进度方面的接口,也就是说页面还无法准确返回页面实际加载的进度,本文中我们使用jQuery来实现页面加载进度条效果。

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

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

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

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

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

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

我们要设置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();   
});

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

jQuery 相关文章推荐
jquery中关于bind()方法的使用技巧分享
Mar 30 jQuery
使用jQuery卸载全部事件的思路详解
Apr 03 jQuery
jQuery图片缩放插件smartZoom使用实例详解
Aug 25 jQuery
jquery在vue脚手架中的使用方式示例
Aug 29 jQuery
jQuery 利用ztree实现树形表格的实例代码
Sep 27 jQuery
jQuery实现简单的下拉菜单导航功能示例
Dec 07 jQuery
jQuery实现鼠标响应式透明度渐变动画效果示例
Feb 13 jQuery
jquery实现自定义树形表格的方法【自定义树形结构table】
Jul 12 jQuery
jQuery提示框插件SweetAlert用法分析
Aug 05 jQuery
jquery更改元素属性attr()方法操作示例
May 22 jQuery
jQuery 移除事件的方法
Jun 20 jQuery
jquery自定义组件实例详解
Dec 31 jQuery
jQuery+Ajax实现用户名重名实时检测
Jun 01 #jQuery
jQuery实现动态删除LI的方法
May 30 #jQuery
jQuery异步提交表单实例
May 30 #jQuery
Angular2使用jQuery的方法教程
May 28 #jQuery
Jquery中attr与prop的区别详解
May 27 #jQuery
jQuery插件imgAreaSelect基础讲解
May 26 #jQuery
jQuery插件ImgAreaSelect实现头像上传预览和裁剪功能实例讲解一
May 26 #jQuery
You might like
[原创]PHP实现字节数Byte转换为KB、MB、GB、TB的方法
2017/08/31 PHP
PHP多进程编程之僵尸进程问题的理解
2017/10/15 PHP
使用laravel和ECharts实现折线图效果的例子
2019/10/09 PHP
通过js获取上传的图片信息(临时保存路径,名称,大小)然后通过ajax传递给后端的方法
2015/10/01 Javascript
JavaScript学习笔记整理之引用类型
2016/01/22 Javascript
BootStrap轮播HTML代码(推荐)
2016/12/10 Javascript
实例解析angularjs的filter过滤器
2016/12/14 Javascript
基于vue的下拉刷新指令和滚动刷新指令
2016/12/23 Javascript
解决Vue2.0自带浏览器里无法打开的原因(兼容处理)
2017/07/28 Javascript
JS实现深度优先搜索求解两点间最短路径
2019/01/17 Javascript
[01:49]一目了然!DOTA2DotA快捷操作对比第二弹
2014/05/16 DOTA
[46:23]OG vs EG 2018国际邀请赛淘汰赛BO3 第一场 8.23
2018/08/24 DOTA
[47:03]完美世界DOTA2联赛PWL S3 Galaxy Racer vs Phoenix 第二场 12.10
2020/12/13 DOTA
你眼中的Python大牛 应该都有这份书单
2017/10/31 Python
python pandas修改列属性的方法详解
2018/06/09 Python
Python3多线程基础知识点
2019/02/19 Python
python实现电子产品商店
2019/02/26 Python
Django打印出在数据库中执行的语句问题
2019/07/25 Python
python中pygame安装过程(超级详细)
2019/08/04 Python
pygame实现俄罗斯方块游戏(基础篇2)
2019/10/29 Python
Python3与fastdfs分布式文件系统如何实现交互
2020/06/23 Python
pycharm 的Structure界面设置操作
2021/02/05 Python
Web前端绘制0.5像素的几种方法
2017/08/11 HTML / CSS
HTML5网页录音和上传到服务器支持PC、Android,支持IOS微信功能
2019/04/26 HTML / CSS
MADE荷兰:提供原创设计师家具
2018/04/03 全球购物
BudgetAir印度:预订航班、酒店和汽车租赁
2019/07/07 全球购物
Contém1g官网:巴西彩妆品牌
2020/01/17 全球购物
毕业生自我鉴定范文
2013/11/08 职场文书
同居协议书范本
2014/04/23 职场文书
见习报告的格式
2014/10/31 职场文书
总经理检讨书范文
2015/02/16 职场文书
创卫工作总结2015
2015/04/22 职场文书
2015年幼儿园中班下学期工作总结
2015/05/22 职场文书
2016孝老爱亲模范事迹材料
2016/02/26 职场文书
详解JavaScript中的执行上下文及调用堆栈
2021/04/29 Javascript
Go gorilla securecookie库的安装使用详解
2022/08/14 Golang