jquery网页加载进度条的实现
时间:2019-03-30
本文章向大家介绍jquery网页加载进度条的实现,主要包括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(); });
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
- 什么是Kotlin?Java终结者?
- cordova插件-Device Motion
- cordova插件-Device Orientation
- cordova插件-Dialogs
- SpringCloud动态刷新配置信息
- cordova插件-Device
- hadoop源码解析2 - conf包中Configuration.java解析
- junit入门实例
- cordova插件- Network Information
- SpringCloud配置中心客户端读取配置
- cordova插件- Inappbrowser
- SpringCloud配置中心高可用搭建
- hadoop压缩与解压
- cordova插件- Media
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- mysql的一些常用操作(二)
- python数组二分查找算法bisect
- 【python-leetcode295-双堆】数据流的中位数
- join的使用
- C语言之不能在scanf中使用换行
- 聊聊java中的哪些Map:(五)HashTable与HashMap的区别
- paddlepaddle之飞机识别
- c语言之条件编译
- python之使用魔术方法__getitem__和__len__
- B+Tree index structures in InnoDB(7.InnoDB中B+树的索引结构)
- Java基础
- 广度优先遍历--选课的智慧
- paddlepaddle目标检测之水果检测(yolov3_mobilenet_v1)
- 【每日一题】41. First Missing Positive
- springmvc之第一个springmvc程序