zoukankan      html  css  js  c++  java
  • 网页加载进度条的实现

    本次主要介绍一下网页加载进度的实现。如下图,在页面加载的时候,上方红色的进度条
    请输入图片描述

    网页加载进度的好处是能够更好的反应当前网页的加载进度情况,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();     
    }); 

    最后推荐2个jquery加载进度条插件:

    nprogress
    pace

    参考文章 http://www.helloweba.com/view-blog-322.html

    查看更多内容,请访问 https://www.aaz5.com

  • 相关阅读:
    hdu 1863 畅通工程(Kruskal+并查集)
    1.1.2最小生成树(Kruskal和Prim算法)
    1.1.1最短路(Floyd、Dijstra、BellmanFord)
    ACM复习专项
    装饰器和偏函数
    Python函数基础
    (六)面向对象高级编程
    Zabbix漏洞利用 CVE-2016-10134
    Struts-S2-045漏洞利用
    F5 BIG-IP 远程代码执行漏洞环境搭建
  • 原文地址:https://www.cnblogs.com/zhouyangla/p/6921502.html
Copyright © 2011-2022 走看看