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插件FusionWidgets实现的AngularGauge图效果示例【附demo源码】
Mar 23 jQuery
jQuery模拟实现天猫购物车动画效果实例代码
May 25 jQuery
jQueryeasyui 中如何使用datetimebox 取两个日期间相隔的天数
Jun 13 jQuery
jQuery实现鼠标响应式透明度渐变动画效果示例
Feb 13 jQuery
jQuery简单判断值是否存在于数组中的方法示例
Apr 17 jQuery
jQuery实现每隔一段时间自动更换样式的方法分析
May 03 jQuery
基于jQuery实现无缝轮播与左右点击效果
May 13 jQuery
jquery引入外部CDN 加载失败则引入本地jq库
May 23 jQuery
解决jQuery使用append添加的元素事件无效的问题
Aug 30 jQuery
jQuery pagination分页示例详解
Oct 23 jQuery
Vue项目中使用jquery的简单方法
May 16 jQuery
Jquery让form表单异步提交代码实现
Nov 14 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
长波知识介绍
2021/03/01 无线电
PHP:风雨欲来 路在何方?
2006/10/09 PHP
php中动态变量用法实例
2015/06/10 PHP
php简单解析mysqli查询结果的方法(2种方法)
2016/06/29 PHP
PHP实现的注册,登录及查询用户资料功能API接口示例
2017/06/06 PHP
laravel Task Scheduling(任务调度)在windows下的使用详解
2019/10/22 PHP
validator验证控件使用代码
2010/11/23 Javascript
疯狂Jquery第一天(Jquery学习笔记)
2012/05/11 Javascript
jQuery+CSS3+Html5实现弹出层效果实例代码(附源码下载)
2016/05/16 Javascript
Jquery和JS获取ul中li标签的实现方法
2016/06/02 Javascript
AngularJS ngModel实现指令与输入直接的数据通信
2016/09/21 Javascript
express文件上传中间件Multer详解
2016/10/24 Javascript
微信小程序 action-sheet底部菜单详解
2016/10/27 Javascript
jQuery实现简单的手风琴效果
2020/04/17 jQuery
Vue组件实例间的直接访问实现代码
2017/08/20 Javascript
vue-cli之router基本使用方法详解
2017/10/17 Javascript
vue.extend与vue.component的区别和联系
2018/09/19 Javascript
在vant 中使用cell组件 定义图标该图片和位置操作
2020/11/02 Javascript
[06:04]DOTA2英雄梦之声Vol19卓尔游侠
2014/06/20 DOTA
Python中使用glob和rmtree删除目录子目录及所有文件的例子
2014/11/21 Python
python difflib模块示例讲解
2017/09/13 Python
python实现对excel进行数据剔除操作实例
2017/12/07 Python
python  创建一个保留重复值的列表的补码
2018/10/15 Python
Python 输入一个数字判断成绩分数等级的方法
2018/11/15 Python
python3实现名片管理系统
2020/11/29 Python
通过selenium抓取某东的TT购买记录并分析趋势过程解析
2019/08/15 Python
python Jupyter运行时间实例过程解析
2019/12/13 Python
解决Jupyter notebook更换主题工具栏被隐藏及添加目录生成插件问题
2020/04/20 Python
CSS3 实现发光边框特效
2020/11/11 HTML / CSS
世界领先的豪华床上用品供应商之一:Bedeck Home
2019/03/18 全球购物
思想政治自我鉴定
2013/10/06 职场文书
简历的自荐信
2013/12/19 职场文书
会计专业毕业生自荐信范文
2013/12/20 职场文书
驳回起诉民事裁定书
2015/05/19 职场文书
2015年网络管理员工作总结
2015/05/21 职场文书
磁贴还没死, 微软Win11可修改注册表找回Win10开始菜单
2021/11/21 数码科技