JavaScript实现网页加载进度条代码超简单
作者:bea
网页进度条能够更好的反应当前网页的加载进度情况,loading进度条可用动画的形式从开始0%到100%完成网页加载这一过程。但是目前的浏览器并没有提供页面加载进度方面的接口,也就是说页面还无法准确返回页面实际加载的进度,本文中我们使用jQuery来实现页面加载进度条效果。 HTML 首先我们要知道的是,目前没有任何浏览器可以直接获取正在加载对象的大小。所以我们无法通过数据大小来实现0-100%的加载显示过程。 因此我们需要通过html代码逐行加载的特性,在整页代码的若干个跳跃
网页进度条能够更好的反应当前网页的加载进度情况,loading进度条可用动画的形式从开始0%到100%完成网页加载这一过程。但是目前的浏览器并没有提供页面加载进度方面的接口,也就是说页面还无法准确返回页面实际加载的进度,本文中我们使用jQuery来实现页面加载进度条效果。
HTML
首先我们要知道的是,目前没有任何浏览器可以直接获取正在加载对象的大小。所以我们无法通过数据大小来实现0-100%的加载显示过程。
因此我们需要通过html代码逐行加载的特性,在整页代码的若干个跳跃行数中设置节点,进行大概的模糊进度反馈来实现进度加载的效果。大致意思是:页面每加载到指定区域,则返回(n)%的进度结果,通过设置多个节点,来达到一步一步显示加载进度的目的。
假如有一个页面,按区块分为页头、左侧内容、右边侧栏、页脚四部分,我们把这四部分作为四个节点,当页面加载每一个节点后,设置大概加载百分比,页面结构如下:
<div id="header">
页头部分
</div>
<div id="mainpage">
左侧内容
</div>
<div id="sider">
右边侧栏
</div>
<div id="footer">
页脚部分
</div>
然后我们在<body>下的第一行加上进度条.loading。
<div class="loading"></div>
CSS
我们要设置loading进度条的样式,设置背景色,高度,以及位置,优先级等。
.loading{
background:#FF6100; //设置进度条的颜色
height:5px; //设置进度条的高度
position:fixed; //设定进度条跟随屏幕滚动
top:0; //将进度条固定在页面顶部
z-index:99999 //提高进度条的优先层级,避免被其他层遮挡
}
jQuery
接下来,我们要在每个节点后面加上进度动画,使用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();
});
有用 | 无用
HTML
首先我们要知道的是,目前没有任何浏览器可以直接获取正在加载对象的大小。所以我们无法通过数据大小来实现0-100%的加载显示过程。
因此我们需要通过html代码逐行加载的特性,在整页代码的若干个跳跃行数中设置节点,进行大概的模糊进度反馈来实现进度加载的效果。大致意思是:页面每加载到指定区域,则返回(n)%的进度结果,通过设置多个节点,来达到一步一步显示加载进度的目的。
假如有一个页面,按区块分为页头、左侧内容、右边侧栏、页脚四部分,我们把这四部分作为四个节点,当页面加载每一个节点后,设置大概加载百分比,页面结构如下:
<div id="header">
页头部分
</div>
<div id="mainpage">
左侧内容
</div>
<div id="sider">
右边侧栏
</div>
<div id="footer">
页脚部分
</div>
然后我们在<body>下的第一行加上进度条.loading。
<div class="loading"></div>
CSS
我们要设置loading进度条的样式,设置背景色,高度,以及位置,优先级等。
.loading{
background:#FF6100; //设置进度条的颜色
height:5px; //设置进度条的高度
position:fixed; //设定进度条跟随屏幕滚动
top:0; //将进度条固定在页面顶部
z-index:99999 //提高进度条的优先层级,避免被其他层遮挡
}
jQuery
接下来,我们要在每个节点后面加上进度动画,使用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();
});
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- js实现无限级树形导航列表效果代码
- JS实现同一个网页布局滑动门和TAB选项卡实例
- JS实现3D图片旋转展示效果代码
- JS+CSS实现带小三角指引的滑动门效果
- jQuery实现浮动层随浏览器滚动条滚动的方法
- JavaScript脚本判断蜘蛛来源的方法
- jQuery实现的经典滑动门效果
- jquery实现的简单二级菜单效果代码
- jfinal与bootstrap的登录跳转实战演习
- jquery实现经典的淡入淡出选项卡效果代码
- JS+CSS实现类似QQ好友及黑名单效果的树型菜单
- jQuery实现Flash效果上下翻动的中英文导航菜单代码
- QQ登录背景闪动效果附效果演示源码下载
- jQuery实现气球弹出框式的侧边导航菜单效果
- jQuery实现Tab菜单滚动切换的方法
- 基于JQuery和CSS3实现仿Apple TV海报背景视觉差特效源码分享
- Java Mybatis框架入门基础教程
- JS实现仿微博可关闭弹出层效果
- jQuery+HTML5美女瀑布流布局实现方法