为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

网页加载进度条的JS程序开发思路与实际应用

2018-02-23 5页 doc 18KB 31阅读

用户头像

is_633423

暂无简介

举报
网页加载进度条的JS程序开发思路与实际应用网页加载进度条的JS程序开发思路与实际应用 h123网址大全 页面加载进度条实现原理: 将要加载的js动态的添加到head中,并根据每个是否加载完成,统计当前一共加载完成的个数。当每一项都加载完成,加载成功。设置加载失败时间。当超过这个时间提示加载失败。 一、实现逻辑与概念 首先我们要知道的是,目前没有任何浏览器可以直接获取正在加载对象的大小。所以我们无法通过数据大小来实现0-100%的加载显示过程。 因此我们需要通过html代码逐行加载的特性,在整页代码的若干个跳跃行数中设置节点,进行大概的模糊进度反馈来实现进度...
网页加载进度条的JS程序开发思路与实际应用
网页加载进度条的JS程序开发思路与实际应用 h123网址大全 页面加载进度条实现原理: 将要加载的js动态的添加到head中,并根据每个是否加载完成,统计当前一共加载完成的个数。当每一项都加载完成,加载成功。设置加载失败时间。当超过这个时间提示加载失败。 一、实现逻辑与概念 首先我们要知道的是,目前没有任何浏览器可以直接获取正在加载对象的大小。所以我们无法通过数据大小来实现0-100%的加载显示过程。 因此我们需要通过html代码逐行加载的特性,在整页代码的若干个跳跃行数中设置节点,进行大概的模糊进度反馈来实现进度加载的效果。大致意思是:页面每加载到指定区域,则返回(n)%的进度结果,通过设置多个节点,来达到一步一步显示加载进度的目的。 具体是如何设置呢,首先我们将网页分成若干区域,就以 frontopen来说,网站的结构分为head区域、mian区域(文 章主体部分)、sidebar侧边栏、foot脚部 四个部分。考虑做一个范围粗犷一点 进度反馈效果。如下图: 将进度反馈设置为四个部分:head部分返回30%进度,main部分返回60%进度,sidebar部分返回70%进度,最后foot加载完成后返回100%。 二、实现方法 1.首先我们需要在html页面中,给进度条设定设定一个容器。例如本博的body下方会有一个“div class=”loading”/div”的div容器,这就是后面我们需要操作并显示的进度条了,当然大家有兴趣的话可以设置更多有个性的进度条。 2.为loading容器设定样式,以本博的进度条为例,样式如下: .loading{ background:#FF6100; //设置进度条的颜色 height:5px; //设置进度条的高度 position:fixed; //设定进度条跟随屏幕滚动 top:0; //将进度条固定在页面顶部 z-index:99999//提高进度条的优先层级,避免被其他层遮挡 } 3.通过jquery的animate动画效果,来实现进度条的动画加载过程。简单的进行构思,决定使用由左向右的加载效果。最终animate的执行代码为 “$(‘.loading’).animate({‘width':’100%’},200);” 4.思考需要设置几个加载进度节点。上面通过构思,我们已经决定使用30%、60%、70%、100%四个进度节点,分别插入到对应的页面位置。并结合上面的animate动画代码,最终确定四个进度节点的代码为: $(‘.loading’).animate({‘width':’30%’},50) 、 $(‘.loading’).animate({‘width':’60%’},50) 、$(‘.loading’).animate({‘width':’70%’},50) 、 $(‘.loading’).animate({‘width':’100%’},50)。 可能大家会问,为什么速度变成了50毫秒,因为之前一步加载为100%的动画被分成份,所以为了保证动画的连贯性,将其每份切分成为50毫秒。 三、插入到页面中的实际应用示例 以本博首页文件index.php为例,给大家展示四个节点如何插入到对应的位置。当然这个示例只是为了更好的解释上面的程序结论,并不限于这种设置方法。大家在需要的地方可以发挥更多的想象,举一反三创造出更绚丽的样式。 index.php文件代码 ?php /** * The main template file. * * This is the most generic template file in a WordPress theme * and one of the two required files for a theme (the other being style.css). * It is used to display a page when nothing more specific matches a query. * E.g., it puts together the home page when no home.php file exists. * Learn more: * * @package WordPress * @subpackage Twenty_Ten * @since Twenty Ten 1.0 */ ini_set('display_errors', false);//关闭报错 get_header(); ?//引用模板的头部PHP文件 script type="text/javascript" $('.loading').animate({'width':'33%'},50);//第一个进度节点 /script div class="main" ?php /* Run the loop to output the posts. * If you want to overload this in a child theme then include a file * called loop-index.php and that will be used instead. */ get_template_part( 'loop', 'index' ); ? /div!-- #main -- script type="text/javascript" $('.loading').animate({'width':'55%'},50);//第二个节点 /script ?php get_sidebar(); ?//引用sidebar模板php文件 script type="text/javascript" $('.loading').animate({'width':'78%'},50);//第三个节点 /script ?php get_footer(); ?//引用foot模板php文件 script type="text/javascript" $('.loading').animate({'width':'100%'},50);//第四个节点 /script 四、程序的补充完善与优化 通过上面三步、已经基本可以完成整个loading程序的运行。但是进度条加载完成后,无法自动消失,这当然是不行的了,因此我们需要使用另外一段代码,在文档加载完成后将进度条隐藏。 代码如下: 1 2 3 $(document).ready(function(){ $('.loading').fadeOut(); }); 通过以上设置,即可当页面100%加载完成后,执行jquery的fadeOut函数,将进度条隐藏,完成整个程序的收尾。 h123网址大全
/
本文档为【网页加载进度条的JS程序开发思路与实际应用】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索