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插件Echarts实现的渐变色柱状图
Mar 23 jQuery
jQuery插件FusionCharts绘制的2D帕累托图效果示例【附demo源码】
Mar 28 jQuery
jQuery使用unlock.js插件实现滑动解锁
Apr 04 jQuery
jquery replace方法去空格
May 08 jQuery
jQuery操作DOM_动力节点Java学院整理
Jul 04 jQuery
利用jQuery异步上传文件的插件用法详解
Jul 19 jQuery
深入研究jQuery图片懒加载 lazyload.js使用方法
Aug 16 jQuery
将jquery.qqFace.js表情转换成微信的字符码
Dec 01 jQuery
jQuery实现的下雪动画效果示例【附源码下载】
Feb 02 jQuery
jQuery实现侧边栏隐藏与显示的方法详解
Dec 22 jQuery
jQuery选择器之基本选择器用法实例分析
Feb 19 jQuery
jQuery实现移动端扭蛋机抽奖
Nov 08 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
关于我转生变成史莱姆这档事:第二季PV上线,萌王2021年回归
2020/05/06 日漫
Apache 配置详解(最好的APACHE配置教程)
2010/07/04 PHP
fleaphp常用方法分页之Pager使用方法
2011/04/23 PHP
浅析php中三个等号(===)和两个等号(==)的区别
2013/08/06 PHP
thinkphp控制器调度使用示例
2014/02/24 PHP
php中将一个对象保存到Session中的方法
2015/03/13 PHP
php函数传值的引用传递注意事项分析
2016/06/25 PHP
php图像验证码生成代码
2017/06/08 PHP
PHP实现数组根据某个单元字段排序操作示例
2018/08/01 PHP
PHP+swoole+linux实现系统监控和性能优化操作示例
2019/04/15 PHP
基于jQuery的弹出警告对话框美化插件(警告,确认和提示)
2010/06/10 Javascript
关于JQuery($.load)事件的用法和分析
2013/04/09 Javascript
javascript使用数组的push方法完成快速排序
2014/09/15 Javascript
WordPress中利用AJAX异步获取评论用户头像的方法
2016/01/08 Javascript
bootstrap实现每隔5秒自动轮播效果
2016/12/20 Javascript
JavaScript之浏览器对象_动力节点Java学院整理
2017/07/03 Javascript
jQuery提示框插件SweetAlert用法分析
2019/08/05 jQuery
用jQuery实现抽奖程序
2020/04/12 jQuery
JavaScript禁止右击保存图片,禁止拖拽图片的实现代码
2020/04/28 Javascript
js实现微信聊天效果
2020/08/09 Javascript
python基础教程之元组操作使用详解
2014/03/25 Python
利用Python检测URL状态
2019/07/31 Python
关于numpy数组轴的使用详解
2019/12/05 Python
Python 调用有道翻译接口实现翻译
2020/03/02 Python
Python命令行参数argv和argparse该如何使用
2021/02/08 Python
保安自我鉴定范文
2013/12/08 职场文书
新学期开学寄语
2014/01/18 职场文书
党员公开承诺书和承诺事项
2014/03/25 职场文书
2015年度保密工作总结
2015/04/24 职场文书
人代会简报
2015/07/21 职场文书
2016年9月份红领巾广播稿
2015/12/21 职场文书
python使用pygame创建精灵Sprite
2021/04/06 Python
MySQL Threads_running飙升与慢查询的相关问题解决
2021/05/08 MySQL
解决tk mapper 通用mapper的bug问题
2021/06/16 Java/Android
Redis中有序集合的内部实现方式的详细介绍
2022/03/16 Redis
SpringCloud超详细讲解Feign声明式服务调用
2022/06/21 Java/Android