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点赞功能实现代码 点个赞吧!
May 29 jQuery
Jquery+Ajax+xml实现中国地区选择三级联动菜单效果(推荐)
Jun 09 jQuery
基于jquery日历价格、库存等设置插件
Jul 05 jQuery
jQuery中.attr()和.data()的区别分析
Sep 03 jQuery
jQuery访问浏览器本地存储cookie、localStorage和sessionStorage的基本用法
Oct 20 jQuery
jquery ztree实现右键收藏功能
Nov 20 jQuery
JQuery选中select组件被选中的值方法
Mar 08 jQuery
jQuery实现遍历XML节点和属性的方法示例
Apr 29 jQuery
jQuery超简单遮罩层实现方法示例
Sep 06 jQuery
jQuery实现的老虎机跑动效果示例
Dec 29 jQuery
jQuery+ThinkPHP实现图片上传
Jul 23 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命名空间(Namespace)的使用详解
2013/05/04 PHP
javascript下IE与FF兼容函数收集
2008/09/17 Javascript
JavaScript插入动态样式实现代码
2012/02/22 Javascript
jQuery页面图片伴随滚动条逐渐显示的小例子
2013/03/21 Javascript
JavaScript原生对象之Date对象的属性和方法详解
2015/03/13 Javascript
举例讲解jQuery中可见性过滤选择器的使用
2016/04/18 Javascript
js获取Html元素的实际宽度高度的方法
2016/05/19 Javascript
jquery判断iPhone、Android设备类型
2016/09/14 Javascript
微信小程序实现slideUp、slideDown滑动效果及点击空白隐藏功能示例
2018/12/11 Javascript
Vue使用Clipboard.JS在h5页面中复制内容实例详解
2019/09/03 Javascript
vue相同路由跳转强制刷新该路由组件操作
2020/08/05 Javascript
vue elementui tree 任意级别拖拽功能代码
2020/08/31 Javascript
python2.7 mayavi 安装图文教程(推荐)
2017/06/22 Python
使用Python &amp; Flask 实现RESTful Web API的实例
2017/09/19 Python
python写一个md5解密器示例
2018/02/23 Python
Python从数据库读取大量数据批量写入文件的方法
2018/12/10 Python
Python实现Linux监控的方法
2019/05/16 Python
详解python实现交叉验证法与留出法
2019/07/11 Python
详解pandas赋值失败问题解决
2020/11/29 Python
CSS3中引入多种自定义字体font-face
2020/06/12 HTML / CSS
Mio Skincare英国官网:身体紧致及孕期身体护理
2018/08/19 全球购物
英国最大的宝石首饰超市:QP Jewellers
2018/09/23 全球购物
美国沙龙美发产品购物网站:Hair.com by L’Oreal
2020/11/09 全球购物
公司企业表扬信
2014/01/11 职场文书
九年级英语教学反思
2014/01/31 职场文书
市场营销专业自荐书
2014/06/10 职场文书
真诚的求职信
2014/07/04 职场文书
放飞梦想演讲稿800字
2014/08/26 职场文书
维护民族团结演讲稿
2014/08/27 职场文书
2014年化验员工作总结
2014/11/18 职场文书
云冈石窟导游词
2015/02/04 职场文书
2015国庆节66周年演讲稿
2015/03/20 职场文书
入党培养人考察意见
2015/06/08 职场文书
一行代码python实现文件共享服务器
2021/04/22 Python
如何设计高效合理的MySQL查询语句
2021/05/26 MySQL
简单聊聊TypeScript只读修饰符
2022/04/06 Javascript