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 ajax请求struts action实现异步刷新
Apr 19 jQuery
JS/jquery实现一个网页内同时调用多个倒计时的方法
Apr 27 jQuery
jQuery实现下拉菜单的实例代码
Jun 19 jQuery
简单实现jQuery手风琴效果
Aug 18 jQuery
jQuery实现弹窗下底部页面禁止滑动效果
Dec 19 jQuery
jQuery实现的回车触发按钮事件功能示例
Mar 25 jQuery
jQuery点击页面其他部分隐藏下拉菜单功能
Nov 27 jQuery
Jquery获取radio选中值实例总结
Jan 17 jQuery
详解如何使用webpack打包多页jquery项目
Feb 01 jQuery
jQuery ajax仿Google自动提示SearchSuggess功能示例
Mar 28 jQuery
如何在vue 中引入使用jquery
Nov 10 jQuery
基于jQuery拖拽事件的封装
Nov 29 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
dedecms中显示数字验证码的修改方法
2007/03/21 PHP
一个php Mysql类 可以参考学习熟悉下
2009/06/21 PHP
php采用curl访问域名返回405 method not allowed提示的解决方法
2014/06/26 PHP
Laravel构建即时应用的一种实现方法详解
2017/08/31 PHP
jQuery EasyUI API 中文文档 - Documentation 文档
2011/09/29 Javascript
JS中的二叉树遍历详解
2016/03/18 Javascript
jQuery中通过ajax调用webservice传递数组参数的问题实例详解
2016/05/20 Javascript
jQuery中DOM节点删除之empty与remove
2017/01/20 Javascript
javascript中this用法实例详解
2017/04/06 Javascript
删除table表格行的实例讲解
2017/09/21 Javascript
在vue中实现简单页面逆传值的方法
2017/11/27 Javascript
微信小程序中显示倒计时代码实例
2019/05/09 Javascript
vue中引入mxGraph的步骤详解
2019/05/17 Javascript
JavaScript实现的联动菜单特效示例
2019/07/08 Javascript
JavaScript判断数组类型的方法
2019/10/23 Javascript
jquery实现烟花效果(面向对象)
2020/03/10 jQuery
antd多选下拉框一行展示的实现方式
2020/10/31 Javascript
Ant Design的可编辑Tree的实现操作
2020/10/31 Javascript
聊聊vue 中的v-on参数问题
2021/01/29 Vue.js
使用python实现链表操作
2018/01/26 Python
在python win系统下 打开TXT文件的实例
2018/04/29 Python
Django 反向生成url实例详解
2019/07/30 Python
如何用Python来理一理红楼梦里的那些关系
2019/08/14 Python
PyCharm使用之配置SSH Interpreter的方法步骤
2019/12/26 Python
python使用scapy模块实现ARP扫描的过程
2021/01/21 Python
CSS3 3D制作实战案例分析
2016/09/18 HTML / CSS
拉斯维加斯城市观光通行证:Las Vegas Pass
2019/05/21 全球购物
食品营养与检测应届生求职信
2013/11/08 职场文书
群众路线教育实践活动方案
2014/02/02 职场文书
学校领导班子对照检查材料
2014/09/24 职场文书
交警作风整顿剖析材料
2014/10/11 职场文书
工作作风懒散检讨书
2014/10/29 职场文书
三八红旗手事迹材料
2014/12/26 职场文书
劳动争议仲裁代理词
2015/05/25 职场文书
何玥事迹观后感
2015/06/16 职场文书
高考升学宴主持词
2019/06/21 职场文书