网页顶部加载进度条,近年来很流行,很多网站都采用了这种加载方式。网上也有这样类似的插件,今天我们总结一下网页顶部线性页面加载进度条。
上面的代码只是静态效果,没有和网页加载联系在一起,要和网页加载联系在一起,今天推荐几个插件。
LoadingBar.js的地址是: http://www.onextrapixel.com/2013/09/02/loadingbar-js-adding-a-youtube-like-loading-bar-to-your-website/
用ajax方式读取页面内容,然后加载。
NProgress.js的地址是: http://ricostacruz.com/nprogress/
由于我也没有实际应用过,在这里就不多多阐述了,具体的方法里面都有详细的描述。
下面我再来说一说文章一开始的那个加载效果的实现吧!虽然只是静态的,但是也有借鉴意义,代码也是来源于网络。
由于上面的topbar是用css3写的,所以兼容性不是很好,IE游览器有些效果不兼容。大体的写法如下:
body{ margin:0; } #progress { position:fixed; height: 2px; background:#2085c5; transition:opacity 500ms linear } #progress.done { opacity:0 } #progress span { position:absolute; height:2px; -webkit-box-shadow:#2085c5 1px 0 6px 1px; -webkit-border-radius:100%; opacity:1; width:150px; right:-10px; -webkit-animation:pulse 2s ease-out 0s infinite; } @-webkit-keyframes pulse { 30% { opacity:.6 } 60% { opacity:0; } 100% { opacity:.6 } }
上面的css就针对webkit写了一个,为了浏览器兼容,可以多写一些前缀,具体css3前缀可以看 http://www.haorooms.com/post/css_common 这篇文章的第22条 CSS3的一些前缀总结
html代码:
<div id="progress"> <span></span> </div>
jquery代码:
$({property: 0}).animate({property: 100}, { duration: 3000, step: function() { var percentage = Math.round(this.property); $('#progress').css('width', percentage+"%"); if(percentage == 100) { $("#progress").addClass("done");//完成,隐藏进度条 } } });
设定其持续时间是3秒钟!你可以改动一下,把3秒钟的时间改成你网页的加载时间,就可以做出网页动态加载进度条了。。
原文: http://www.haorooms.com/post/jq_js_xxjdt
下载:
1. youtube-like-ajax-loading-bar
2. nprogress-master
justcode.ikeepstudying.com