之前有很多同学询问觉唯网站顶部的页面加载进度条是怎么实现的,页面的加载进度百分比,有时候获取是比较麻烦的,当然也可以利用一些优秀的JavaScript插件来实现,今天就为大家介绍这样子的一款插件:pace.js
。
在页面中引入Pace.js,页面就会自动监测你的请求(包括Ajax请求),在事件循环滞后,会在页面记录加载的状态以及进度情况。此插件的兼容性很好,可以兼容IE8以上的所有主流插件,而且其强大之处在于,你还可以引入加载进度条的主题样式,你可以选择任意颜色和多种动画效果(例如简约、闪光灯,MAC OSX,左侧填充,顶部填充,计数器和弹跳等等动画效果),如果你擅长修改css动画,那你就可以做出无限种可能性的动画,为你的网站增添个性化特色!
使用方法
引入Pace.js以及主题文件即可:
<head> <script src="/pace/pace.js"></script> <link href="/pace/themes/pace-theme-barber-shop.css" rel="external nofollow" rel="external nofollow" rel="stylesheet" /> </head>
自定义配置
Pace.js会自动加载到页面中,不需要挂接到任何代码,会自动检测进度。如果你想做一些调整,你可以设置window.paceOptions
来自定义配置:
paceOptions = { // Disable the 'elements' source elements: false, // Only show the progress on regular and ajax-y page navigation, // not every request restartOnRequestAfter: false }
你也可以将自定义设置放到script
标签内,例如:
<script data-pace-options='{ "ajax": false }' src='pace.js'></script>
如果你使用AMD
或者Browserify
来加载模块的话,你可以通过这样子来设置(例如:start
):
define(['pace'], function(pace){ pace.start({ document: false }); });
使用API
Pace.js公开的API列表:
- Pace.start:开始显示进度条,如果你不是使用
AMD
或者Browserify
来加载模块的话,这个会默认执行。 - Pace.restart:进度条重新加载以及显示。
- Pace.stop:隐藏进度条以及停止加载。
- Pace.track:监测一个或者多个请求任务。
- Pace.ignore:忽略一个或者多个请求任务。
官网演示下载
基本上大致使用方法就这些,还有其他的一些方法的使用,各位就前往到官网去查看更加详细的介绍。希望这个插件可以帮助到大家!
站长你好,怎样在一个页面内,循环使用进度条,看了API没弄出来
怎么让进度条跑完后不隐藏?
站长你好,我用了这个插件,不显示进度条,但是从代码上看js已经执行了,
页面加载完多了一个div,相关的样式我也已经引用了,求指导!
站长,你知道这个代码怎么放到css里面吗 这个是加载完显示页面的选项 文件install.json :::::::::: “if”: “options.hidePage”,
“contents”: “body > *:not(.pace), body:before, body:after { -webkit-transition: opacity .4s ease-in-out; -moz-transition: opacity .4s ease-in-out; -o-transition: opacity .4s ease-in-out; -ms-transition: opacity .4s ease-in-out; transition: opacity .4s ease-in-out } body:not(.pace-done) > *:not(.pace), body:not(.pace-done):before, body:not(.pace-done):after { opacity: 0 }”
这个肯定有定义的,只是我实在是看不懂啊 拜托了
刚刚去看了,没看到你说的那个选项。用这个方式就可以实现你要的效果:
Pace.on(“done”, function(){
$(“.cover”).fadeOut(2000);
});
这个东西加在哪啊
大哥你能帮我查一下pacejs里面的 先显示进度条,然后进度条消失,网站出现这个选项吗
请问如何做到。 Hide everything but PACE until the page has fully loaded
可以试下:
Pace.on(“done”, function(){
$(“.cover”).fadeOut(2000);
});
其实就是通过css隐藏,然后等待pace加载完成就显示出来。
官网有个选项 Hide everything but PACE until the page has fully loaded我点了之后,就能实现这个效果,我想把js加到本地,就不会改了
你可以认真查看官网的js以及css文件。原理都是通过css来控制。
本地没有pace应该有开启关闭这个选项的选项吧
这个挺实用。觉唯设计希望越做越好
关于这个,我写个一篇文章 http://www.haorooms.com/post/js_jiazao_load
做设计的网站就是不一样,好有温暖的感觉
好啊
博主傍晚好!不经意路过,留言是种美德,同时证明我来过。欢迎回访!
我又来看你啦。
网站很漂亮
果断收藏了
虽然是个不起眼的小插件,但用户体验方面很好
的确,有时候会带来很多好处的。
可能是最简单的博客ajax化方法了
这其实还没有 AJAX 化,只是伪装。最简单的看 InstantClick。
这个不错。
nice,收了!
不错哦
好强大,先收藏了。以前一直想找这样子的一个进度条。