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实现二级联动效果
Mar 30 jQuery
jQuery遮罩层实例讲解
May 11 jQuery
jQuery Jsonp跨域模拟搜索引擎
Jun 17 jQuery
jQuery实现html双向绑定功能示例
Oct 09 jQuery
jQuery实现常见的隐藏与展示列表效果示例
Jun 04 jQuery
jQuery实现仿京东防抖动菜单效果示例
Jul 06 jQuery
jQuery AJAX 方法success()后台传来的4种数据详解
Aug 08 jQuery
jquery实现的简单轮播图功能【适合新手】
Aug 17 jQuery
jQuery实现当拉动滚动条到底部加载数据的方法分析
Jan 24 jQuery
jQuery 选择器用法基础入门示例
Jan 04 jQuery
jQuery实现移动端下拉展现新的内容回弹动画
Jun 24 jQuery
jquery插件实现悬浮的菜单
Apr 24 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修改时间格式的代码
2011/05/29 PHP
安装apache2.2.22配置php5.4(具体操作步骤)
2013/06/26 PHP
ThinkPHP模板自定义标签使用方法
2014/06/26 PHP
php通过array_shift()函数移除数组第一个元素的方法
2015/03/18 PHP
jquery 学习之一 对象访问
2010/11/23 Javascript
Jquery进度条插件 Progress Bar小问题解决
2011/07/12 Javascript
hover的用法及live的用法介绍(鼠标悬停效果)
2013/03/29 Javascript
JS中的log对象获取以及debug的写法介绍
2014/03/03 Javascript
Jquery ajax 同步阻塞引起的UI线程阻塞问题
2015/11/17 Javascript
简单谈谈javascript高级特性
2019/09/04 Javascript
纯 JS 实现放大缩小拖拽功能(完整代码)
2019/11/25 Javascript
ES6学习笔记之let与const用法实例分析
2020/01/22 Javascript
小程序中手机号识别的示例
2020/12/14 Javascript
[01:14:10]2014 DOTA2国际邀请赛中国区预选赛 SPD-GAMING VS Orenda
2014/05/22 DOTA
python3实现读取chrome浏览器cookie
2016/06/19 Python
python实现的多线程端口扫描功能示例
2017/01/21 Python
Python中模块string.py详解
2017/03/12 Python
Python实现的堆排序算法原理与用法实例分析
2017/11/22 Python
Python socket实现简单聊天室
2018/04/01 Python
Django中使用Whoosh进行全文检索的方法
2019/03/31 Python
Django实现发送邮件找回密码功能
2019/08/12 Python
详解python statistics模块及函数用法
2019/10/27 Python
python 将列表里的字典元素合并为一个字典实例
2020/09/01 Python
video结合canvas实现视频在线截图功能
2018/06/25 HTML / CSS
Web时代变迁及html5与html4的区别
2016/01/06 HTML / CSS
东方电视购物:东方CJ
2016/10/12 全球购物
皮姆斯勒语言学习:Pimsleur Language Programs
2018/06/30 全球购物
ESDlife健康生活易:身体检查预订、搜寻及比较
2019/05/10 全球购物
幼儿园春游活动方案
2014/01/19 职场文书
优秀班干部事迹材料
2014/01/26 职场文书
师德师风个人整改措施
2014/10/27 职场文书
小学国庆节活动总结
2015/03/23 职场文书
酒店总经理岗位职责
2015/04/01 职场文书
2015年车间安全管理工作总结
2015/05/13 职场文书
2016大学迎新晚会开场白
2015/11/24 职场文书
Python网络编程之ZeroMQ知识总结
2021/04/25 Python