JavaScript實現(xiàn)網(wǎng)頁加載進度條代碼超簡單
網(wǎng)頁進度條能夠更好的反應(yīng)當(dāng)前網(wǎng)頁的加載進度情況,loading進度條可用動畫的形式從開始0%到100%完成網(wǎng)頁加載這一過程。但是目前的瀏覽器并沒有提供頁面加載進度方面的接口,也就是說頁面還無法準確返回頁面實際加載的進度,本文中我們使用jQuery來實現(xiàn)頁面加載進度條效果。
HTML
首先我們要知道的是,目前沒有任何瀏覽器可以直接獲取正在加載對象的大小。所以我們無法通過數(shù)據(jù)大小來實現(xiàn)0-100%的加載顯示過程。
因此我們需要通過html代碼逐行加載的特性,在整頁代碼的若干個跳躍行數(shù)中設(shè)置節(jié)點,進行大概的模糊進度反饋來實現(xiàn)進度加載的效果。大致意思是:頁面每加載到指定區(qū)域,則返回(n)%的進度結(jié)果,通過設(shè)置多個節(jié)點,來達到一步一步顯示加載進度的目的。
假如有一個頁面,按區(qū)塊分為頁頭、左側(cè)內(nèi)容、右邊側(cè)欄、頁腳四部分,我們把這四部分作為四個節(jié)點,當(dāng)頁面加載每一個節(jié)點后,設(shè)置大概加載百分比,頁面結(jié)構(gòu)如下:
<div id="header"> 頁頭部分 </div> <div id="mainpage"> 左側(cè)內(nèi)容 </div> <div id="sider"> 右邊側(cè)欄 </div> <div id="footer"> 頁腳部分 </div>
然后我們在<body>下的第一行加上進度條.loading。
<div class="loading"></div>
CSS
我們要設(shè)置loading進度條的樣式,設(shè)置背景色,高度,以及位置,優(yōu)先級等。
.loading{
background:#FF6100; //設(shè)置進度條的顏色
height:5px; //設(shè)置進度條的高度
position:fixed; //設(shè)定進度條跟隨屏幕滾動
top:0; //將進度條固定在頁面頂部
z-index:99999 //提高進度條的優(yōu)先層級,避免被其他層遮擋
}
jQuery
接下來,我們要在每個節(jié)點后面加上進度動畫,使用jQuery來實現(xiàn)。
<div id="header">
頁頭部分</div>
<script type="text/javascript">
$('.loading').animate({'width':'33%'},50);
//第一個進度節(jié)點
</script>
<div id="mainpage">
左側(cè)內(nèi)容
</div>
<script type="text/javascript">
$('.loading').animate({'width':'55%'},50);
//第二個進度節(jié)點
</script>
<div id="sider">
右邊側(cè)欄
</div>
<script type="text/javascript">
$('.loading').animate({'width':'80%'},50);
//第三個進度節(jié)點
</script>
<div id="footer">
頁腳部分
</div>
<script type="text/javascript">
$('.loading').animate({'width':'100%'},50);
//第四個進度節(jié)點
</script>
可以看出,沒加載一個節(jié)點后,jQuery調(diào)用animate()動畫方法實現(xiàn)進度條寬度的變化,每個節(jié)點變化以50毫秒時間讓進度條看起來更流暢些,最終從0%變化到100%,完成了進度條的進度動畫。
當(dāng)進度條達到100%后,頁面加載完成,最后還有一步要做的就是隱藏進度條。
$(document).ready(function(){
$('.loading').fadeOut();
});
相關(guān)文章
js實現(xiàn)文字跟隨鼠標(biāo)移動而移動的方法
這篇文章主要介紹了js實現(xiàn)文字跟隨鼠標(biāo)移動而移動的方法,實例分析了javascript處理鼠標(biāo)事件及文字特效的技巧,需要的朋友可以參考下2015-02-02
javascript中parentNode,childNodes,children的應(yīng)用詳解
本篇文章是對javascript中parentNode,childNodes,children的應(yīng)用進行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助2013-12-12
Bootstrap選項卡與Masonry插件的完美結(jié)合
這篇文章主要介紹了Bootstrap選項卡與Masonry插件的完美結(jié)合的相關(guān)資料,需要的朋友可以參考下2016-07-07
javascript 使用for循環(huán)時該注意的問題-附問題總結(jié)
所謂for循環(huán)就是重復(fù)的執(zhí)行一段代碼,for循環(huán)也是希望在創(chuàng)建循環(huán)時常會用到的工具,這篇內(nèi)容主要給大家介紹javascript 使用for循環(huán)時該注意的問題-附問題總結(jié),需要的朋友可以參考下2015-08-08
JavaScript算法題之如何將一個數(shù)組旋轉(zhuǎn)k步
這篇文章主要給大家介紹了關(guān)于JavaScript算法題之如何將一個數(shù)組旋轉(zhuǎn)k步的相關(guān)資料,文中通過實例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2022-03-03

