自己动手制作基于jQuery的Web页面加载进度条插件

时间:2021-05-18

静态效果的实现

网页顶部加载进度条,近年来很流行,很多网站都采用了这种加载方式。网上也有这样类似的插件,今天我们总结一下网页顶部线性页面加载进度条。
大体的写法如下:

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 }}

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秒钟的时间改成你网页的加载时间,就可以做出网页动态加载进度条了。。

页面加载插件的实际应用及load函数的运用
关于页面的加载,很难找到一个很好的方法来获取页面的实际下载进度。下面介绍的方法是运用 $(window).load(function() {})和$(document).ready(function(){})来进行的,虽然这种方法不是很准确,但是也可以模拟网页的下载。

$(function(){NProgress.start();})$(window).load(function() { NProgress.done();})

有很多朋友可能对 $(window).load(function() {})和$(document).ready(function(){})的区别不是很了解。大家可以写一个小案例来测试一下!

例如:

$(window).load(function() { alert("我是load")})$(function(){ alert("我是document.ready")})

很明显,肯定是document.ready先执行,因为document.ready是在DOM结构载入完后执行的,不需要载入得这么“完全”,而$(window).load则是页面全部内容加载完成后执行的。

有时候,

$(window).load(function() { alert("我是load")})

也可以用js的写法:

window.onload = function(){ ... }

都是在页面全部下载完成之后来执行的。两种写法是等价的!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章