网页加载进度条
一、通过加载状态时间制作进度条
document.onreadystatechange //页面加载状态改变时的事件 document.readyState //返回当前文档状态
向服务器发送请求的状态:
1. uninitialized - 还未开始载入
2. loading - 载入中
3. interactive - 已加载,文芳与用户可以开始交互
4. complete - 载入完成
下面的例子是我写的一个简单的加载的动画,可以根据自己的需要自行编写
写一段加载动画的样式:
html:
<div id="loading" class="loading"> <div class="load_begin"></div> <div class="load_end"></div> </div>
css:
/*加载中动画*/ .loading{ width:100%; height: 100%; position: fixed; top: 0; left: 0; background: #fff; z-index: 999; } .load_begin{ width:20px; height: 20px; border-radius: 20px; position: absolute; top:0; left: 0; right: 0; bottom: 0; margin: auto; background:rgba(0,255,0,.6); animation: divRidu 1s ease-in infinite alternate; } .load_end{ width:40px; height: 40px; border-radius: 40px; position: absolute; top:0; left: 0; right: 0; bottom: 0; margin: auto; background:rgba(255,0,0,.1); animation: divRidu 1s ease-in 1s infinite alternate; } @keyframes divRidu { from { width:20px; height: 20px; border-radius: 20px; } to { width:40px; height: 40px; border-radius: 40px; } }
调用该方法,状态为 complete 时 隐藏 加载div
js:
document.onreadystatechange = function(){
if(document.readyState = 'complete'){
$("#loading").hide();
}
};
二、顶部固定的加载进度条
<!--固定在顶部的进度条--> <div id="loading-style4" class="loading"> <div class="style4-pic"></div> </div> <script> $(".style4-pic").animate({"10%"},100); </script> <section> <img src="http://seopic.699pic.com/photo/50063/6498.jpg_wh1200.jpg" alt=""> <img src="http://seopic.699pic.com/photo/50063/6498.jpg_wh1200.jpg" alt=""> <img src="http://seopic.699pic.com/photo/50063/6498.jpg_wh1200.jpg" alt=""> <img src="http://seopic.699pic.com/photo/50063/6498.jpg_wh1200.jpg" alt=""> <img src="http://seopic.699pic.com/photo/50063/6498.jpg_wh1200.jpg" alt=""> <img src="http://seopic.699pic.com/photo/50063/6498.jpg_wh1200.jpg" alt=""> <img src="http://seopic.699pic.com/photo/50063/6498.jpg_wh1200.jpg" alt=""> <img src="http://seopic.699pic.com/photo/50063/6498.jpg_wh1200.jpg" alt=""> <script> $(".style4-pic").animate({"20%"},100); </script> <img src="http://seopic.699pic.com/photo/50063/6498.jpg_wh1200.jpg" alt=""> <img src="http://seopic.699pic.com/photo/50063/6498.jpg_wh1200.jpg" alt=""> <img src="http://seopic.699pic.com/photo/50063/6498.jpg_wh1200.jpg" alt=""> <img src="http://seopic.699pic.com/photo/50063/6498.jpg_wh1200.jpg" alt=""> <img src="http://seopic.699pic.com/photo/50063/6498.jpg_wh1200.jpg" alt=""> <img src="http://seopic.699pic.com/photo/50063/6498.jpg_wh1200.jpg" alt=""> <img src="http://seopic.699pic.com/photo/50063/6498.jpg_wh1200.jpg" alt=""> <img src="http://seopic.699pic.com/photo/50063/6498.jpg_wh1200.jpg" alt=""> <script> $(".style4-pic").animate({"40%"},100); </script> <img src="http://seopic.699pic.com/photo/50063/6498.jpg_wh1200.jpg" alt=""> <img src="http://seopic.699pic.com/photo/50063/6498.jpg_wh1200.jpg" alt=""> <img src="http://seopic.699pic.com/photo/50063/6498.jpg_wh1200.jpg" alt=""> <img src="http://seopic.699pic.com/photo/50063/6498.jpg_wh1200.jpg" alt=""> <img src="http://seopic.699pic.com/photo/50063/6498.jpg_wh1200.jpg" alt=""> <img src="http://seopic.699pic.com/photo/50063/6498.jpg_wh1200.jpg" alt=""> <img src="http://seopic.699pic.com/photo/50063/6498.jpg_wh1200.jpg" alt=""> <img src="http://seopic.699pic.com/photo/50063/6498.jpg_wh1200.jpg" alt=""> <script> $(".style4-pic").animate({"60%"},100); </script> <img src="http://seopic.699pic.com/photo/50063/6498.jpg_wh1200.jpg" alt=""> <img src="http://seopic.699pic.com/photo/50063/6498.jpg_wh1200.jpg" alt=""> <img src="http://seopic.699pic.com/photo/50063/6498.jpg_wh1200.jpg" alt=""> <img src="http://seopic.699pic.com/photo/50063/6498.jpg_wh1200.jpg" alt=""> <img src="http://seopic.699pic.com/photo/50063/6498.jpg_wh1200.jpg" alt=""> <img src="http://seopic.699pic.com/photo/50063/6498.jpg_wh1200.jpg" alt=""> <img src="http://seopic.699pic.com/photo/50063/6498.jpg_wh1200.jpg" alt=""> <img src="http://seopic.699pic.com/photo/50063/6498.jpg_wh1200.jpg" alt=""> <script> $(".style4-pic").animate({"80%"},100); </script> <img src="http://seopic.699pic.com/photo/50063/6498.jpg_wh1200.jpg" alt=""> <img src="http://seopic.699pic.com/photo/50063/6498.jpg_wh1200.jpg" alt=""> <img src="http://seopic.699pic.com/photo/50063/6498.jpg_wh1200.jpg" alt=""> <img src="http://seopic.699pic.com/photo/50063/6498.jpg_wh1200.jpg" alt=""> <img src="http://seopic.699pic.com/photo/50063/6498.jpg_wh1200.jpg" alt=""> <img src="http://seopic.699pic.com/photo/50063/6498.jpg_wh1200.jpg" alt=""> <img src="http://seopic.699pic.com/photo/50063/6498.jpg_wh1200.jpg" alt=""> <img src="http://seopic.699pic.com/photo/50063/6498.jpg_wh1200.jpg" alt=""> <script> $(".style4-pic").animate({"100%"},100); $("#loading-style4").fadeOut(); </script> </section>
css
/*加载中动画*/
.loading{
100%;
height: 100%;
position: fixed;
top: 0;
left: 0;
background: #fff;
z-index: 999;
}
.style4-pic{
0%;
height: 5px;
position: absolute;
top:0;
left: 0;
background: red;
}
三、实时获取加载数据的进度条
<div id="loading-style3" class="loading"> <div class="style3-pic"> <span></span> <b>0%</b> </div> </div>
//添加图片 加载 <section> <img src="http://seopic.699pic.com/photo/50063/6498.jpg_wh1200.jpg" alt=""> <img src="http://seopic.699pic.com/photo/50063/6498.jpg_wh1200.jpg" alt=""> <img src="http://seopic.699pic.com/photo/50063/6498.jpg_wh1200.jpg" alt=""> <img src="http://seopic.699pic.com/photo/50063/6498.jpg_wh1200.jpg" alt=""> <img src="http://seopic.699pic.com/photo/50063/6498.jpg_wh1200.jpg" alt=""> <img src="http://seopic.699pic.com/photo/50063/6498.jpg_wh1200.jpg" alt=""> <img src="http://seopic.699pic.com/photo/50063/6498.jpg_wh1200.jpg" alt=""> <img src="http://seopic.699pic.com/photo/50063/6498.jpg_wh1200.jpg" alt=""> </section>
<script src="js/jquery-3.2.1.min.js"></script>
<script>
$(function(){
var img = $("img"); //获取所以得图片
var num = 0;
img.each(function(i){
var oImg = new Image();
oImg.onload=function(){
num ++;
$("#loading-style3 b").html(parseInt(num/img.length*100)+ '%');
if(img.length == num + 1) {
$("#loading-style3").hide();
}
};
oImg.src = img[i].src;
})
})
</script>
css
/*加载中动画*/
.loading{
100%;
height: 100%;
position: fixed;
top: 0;
left: 0;
background: #fff;
z-index: 999;
}
.style3-pic{
100px;
height: 100px;
line-height: 100px;
text-align: center;
position: absolute;
top:0;
left: 0;
right: 0;
bottom: 0;
margin: auto;
font-size: 20px;
}
.style3-pic span{
display: block;
80px;
height: 80px;
position: absolute;
top: 10px;
left: 10px;
border-radius: 50%;
box-shadow:0 3px 0 #666;
animation:rotate 1s infinite linear;
}
@keyframes rotate {
0%{transform: rotate(0deg);}
100%{transform: rotate(360deg);}
}