H5页面标题栏部分加载进度条0%-100%

网页进度条能够更好的反应当前网页的加载进度情况,loading进度条可用动画的形式从开始0%到100%完成网页加载这一过程。

首先我们要知道的是,目前没有任何浏览器可以直接获取正在加载对象的大小。所以我们无法通过数据大小来实现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

<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(); 
});

实例项目如下:


  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值