網頁加載進度條
一、通過加載狀態時間制作進度條
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({width:"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({width:"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({width:"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({width:"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({width:"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({width:"100%"},100); $("#loading-style4").fadeOut(); </script> </section>
css
/*加載中動畫*/ .loading{ width:100%; height: 100%; position: fixed; top: 0; left: 0; background: #fff; z-index: 999; } .style4-pic{ width: 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{ width:100%; height: 100%; position: fixed; top: 0; left: 0; background: #fff; z-index: 999; } .style3-pic{ width: 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; width: 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);} }