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插件HighCharts绘制2D饼图效果示例【附demo源码下载】
Mar 21 jQuery
jQuery+pjax简单示例汇总
Apr 21 jQuery
jquery 键盘事件的使用方法详解
Sep 13 jQuery
jQuery实现动态添加节点与遍历节点功能示例
Nov 09 jQuery
jQuery实现动态显示select下拉列表数据的方法
Feb 05 jQuery
jQuery中的类名选择器(.class)用法简单示例
May 14 jQuery
jQuery仿移动端支付宝键盘的实现代码
Aug 15 jQuery
jQuery访问json文件中数据的方法示例
Jan 28 jQuery
jQuery实现可编辑的表格
Dec 11 jQuery
Jquery属性的获取/设置及样式添加/删除操作技巧分析
Dec 23 jQuery
jQuery是用来干什么的 jquery其实就是一个js框架
Feb 04 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实现的英文名字全拼随机排号脚本
2014/07/04 PHP
php制作简单模版引擎
2016/04/07 PHP
PHP实现的CURL非阻塞调用类
2018/07/26 PHP
PHP操作redis实现的分页列表,新增,删除功能封装类与用法示例
2018/08/04 PHP
php面试中关于面向对象的相关问题
2019/02/13 PHP
javascript中负数算术右移、逻辑右移的奥秘探索
2013/10/17 Javascript
javascript 上下banner替换具体实现
2013/11/14 Javascript
javascript动态修改Li节点值的方法
2015/01/20 Javascript
实现React单页应用的方法详解
2016/08/02 Javascript
微信小程序自定义组件
2017/08/16 Javascript
vue.js 使用axios实现下载功能的示例
2018/03/05 Javascript
Angular搜索场景中使用rxjs的操作符处理思路
2018/05/30 Javascript
vue中的适配px2rem示例代码
2018/11/19 Javascript
JavaScript ES6箭头函数使用指南
2018/12/30 Javascript
微信小程序和百度的语音识别接口详解
2019/05/06 Javascript
[57:24]LGD vs VGJ.T 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python的random模块及加权随机算法的python实现方法
2017/01/04 Python
老生常谈进程线程协程那些事儿
2017/07/24 Python
Diango + uwsgi + nginx项目部署的全过程(可外网访问)
2018/04/22 Python
Python中一些深不见底的“坑”
2019/06/12 Python
详解django实现自定义manage命令的扩展
2019/08/13 Python
Python编程快速上手——Excel表格创建乘法表案例分析
2020/02/28 Python
HTML5 3D旋转相册的实现示例
2019/12/03 HTML / CSS
文科生自我鉴定
2014/02/15 职场文书
党的群众路线对照检查材料思想汇报
2014/09/25 职场文书
逃课检讨书怎么写
2015/01/01 职场文书
教师个人教学总结
2015/02/11 职场文书
大学生毕业个人总结
2015/02/15 职场文书
商场圣诞节活动总结
2015/05/06 职场文书
2015少先队大队辅导员工作总结
2015/07/24 职场文书
学生病假条范文
2015/08/17 职场文书
医学会议开幕词
2016/03/03 职场文书
高质量“欢迎词”
2019/04/03 职场文书
八年级地理课件资料及考点知识分享
2019/08/30 职场文书
研究生学习计划书应该怎么写?
2019/09/10 职场文书
SpringBoot整合Redis入门之缓存数据的方法
2021/11/17 Redis