您好,登錄后才能下訂單哦!
JavaScript中怎么實現網頁加載進度條,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
首先我們要知道的是,目前沒有任何瀏覽器可以直接獲取正在加載對象的大小。所以我們無法通過數據大小來實現0-100%的加載顯示過程。
因此我們需要通過html代碼逐行加載的特性,在整頁代碼的若干個跳躍行數中設置節點,進行大概的模糊進度反饋來實現進度加載的效果。大致意思是:頁面每加載到指定區域,則返回(n)%的進度結果,通過設置多個節點,來達到一步一步顯示加載進度的目的。
假如有一個頁面,按區塊分為頁頭、左側內容、右邊側欄、頁腳四部分,我們把這四部分作為四個節點,當頁面加載每一個節點后,設置大概加載百分比,頁面結構如下:
<p id="header">
頁頭部分
</p>
<p id="mainpage">
左側內容
</p>
<p id="sider">
右邊側欄
</p>
<p id="footer">
頁腳部分
</p>
然后我們在<body>下的第一行加上進度條.loading。
<p class="loading"></p>
我們要設置loading進度條的樣式,設置背景色,高度,以及位置,優先級等。
.loading{
background:#FF6100; //設置進度條的顏色
height:5px; //設置進度條的高度
position:fixed; //設定進度條跟隨屏幕滾動
top:0; //將進度條固定在頁面頂部
z-index:99999 //提高進度條的優先層級,避免被其他層遮擋
}
接下來,我們要在每個節點后面加上進度動畫,使用jQuery來實現。
<p id="header">
頁頭部分
</p>
<script type="text/javascript">
$('.loading').animate({'width':'33%'},50); //第一個進度節點
</script>
<p id="mainpage">
左側內容
</p>
<script type="text/javascript">
$('.loading').animate({'width':'55%'},50); //第二個進度節點
</script>
<p id="sider">
右邊側欄
</p>
<script type="text/javascript">
$('.loading').animate({'width':'80%'},50); //第三個進度節點
</script>
<p id="footer">
頁腳部分
</p>
<script type="text/javascript">
$('.loading').animate({'width':'100%'},50); //第四個進度節點
</script>
可以看出,沒加載一個節點后,jQuery調用animate()動畫方法實現進度條寬度的變化,每個節點變化以50毫秒時間讓進度條看起來更流暢些,最終從0%變化到100%,完成了進度條的進度動畫。
當進度條達到100%后,頁面加載完成,最后還有一步要做的就是隱藏進度條。
$(document).ready(function(){
$('.loading').fadeOut();
});
關于JavaScript中怎么實現網頁加載進度條問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。