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

静态效果的实现

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

大体的写法如下:

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(){ ... }

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

以上是 自己动手制作基于jQuery的Web页面加载进度条插件 的全部内容, 来源链接: utcz.com/z/342846.html

回到顶部