国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > JavaScript > 正文

JavaScript實(shí)現(xiàn)網(wǎng)頁(yè)加載進(jìn)度條代碼超簡(jiǎn)單

2019-11-20 11:32:30
字體:
供稿:網(wǎng)友

網(wǎng)頁(yè)進(jìn)度條能夠更好的反應(yīng)當(dāng)前網(wǎng)頁(yè)的加載進(jìn)度情況,loading進(jìn)度條可用動(dòng)畫的形式從開始0%到100%完成網(wǎng)頁(yè)加載這一過程。但是目前的瀏覽器并沒有提供頁(yè)面加載進(jìn)度方面的接口,也就是說頁(yè)面還無法準(zhǔn)確返回頁(yè)面實(shí)際加載的進(jìn)度,本文中我們使用jQuery來實(shí)現(xiàn)頁(yè)面加載進(jìn)度條效果。

HTML

首先我們要知道的是,目前沒有任何瀏覽器可以直接獲取正在加載對(duì)象的大小。所以我們無法通過數(shù)據(jù)大小來實(shí)現(xiàn)0-100%的加載顯示過程。

因此我們需要通過html代碼逐行加載的特性,在整頁(yè)代碼的若干個(gè)跳躍行數(shù)中設(shè)置節(jié)點(diǎn),進(jìn)行大概的模糊進(jìn)度反饋來實(shí)現(xiàn)進(jìn)度加載的效果。大致意思是:頁(yè)面每加載到指定區(qū)域,則返回(n)%的進(jìn)度結(jié)果,通過設(shè)置多個(gè)節(jié)點(diǎn),來達(dá)到一步一步顯示加載進(jìn)度的目的。

假如有一個(gè)頁(yè)面,按區(qū)塊分為頁(yè)頭、左側(cè)內(nèi)容、右邊側(cè)欄、頁(yè)腳四部分,我們把這四部分作為四個(gè)節(jié)點(diǎn),當(dāng)頁(yè)面加載每一個(gè)節(jié)點(diǎn)后,設(shè)置大概加載百分比,頁(yè)面結(jié)構(gòu)如下:

<div id="header"> 頁(yè)頭部分 </div> <div id="mainpage"> 左側(cè)內(nèi)容 </div> <div id="sider"> 右邊側(cè)欄 </div> <div id="footer"> 頁(yè)腳部分 </div> 

然后我們?cè)?lt;body>下的第一行加上進(jìn)度條.loading。

<div class="loading"></div> 

CSS

我們要設(shè)置loading進(jìn)度條的樣式,設(shè)置背景色,高度,以及位置,優(yōu)先級(jí)等。

.loading{  background:#FF6100; //設(shè)置進(jìn)度條的顏色  height:5px; //設(shè)置進(jìn)度條的高度  position:fixed; //設(shè)定進(jìn)度條跟隨屏幕滾動(dòng)  top:0; //將進(jìn)度條固定在頁(yè)面頂部  z-index:99999 //提高進(jìn)度條的優(yōu)先層級(jí),避免被其他層遮擋 } 

jQuery

接下來,我們要在每個(gè)節(jié)點(diǎn)后面加上進(jìn)度動(dòng)畫,使用jQuery來實(shí)現(xiàn)。

<div id="header"> 頁(yè)頭部分</div> <script type="text/javascript">  $('.loading').animate({'width':'33%'},50);  //第一個(gè)進(jìn)度節(jié)點(diǎn) </script> <div id="mainpage"> 左側(cè)內(nèi)容 </div> <script type="text/javascript">  $('.loading').animate({'width':'55%'},50); //第二個(gè)進(jìn)度節(jié)點(diǎn) </script> <div id="sider"> 右邊側(cè)欄 </div> <script type="text/javascript">  $('.loading').animate({'width':'80%'},50); //第三個(gè)進(jìn)度節(jié)點(diǎn) </script> <div id="footer"> 頁(yè)腳部分 </div> <script type="text/javascript">  $('.loading').animate({'width':'100%'},50);  //第四個(gè)進(jìn)度節(jié)點(diǎn) </script> 

可以看出,沒加載一個(gè)節(jié)點(diǎn)后,jQuery調(diào)用animate()動(dòng)畫方法實(shí)現(xiàn)進(jìn)度條寬度的變化,每個(gè)節(jié)點(diǎn)變化以50毫秒時(shí)間讓進(jìn)度條看起來更流暢些,最終從0%變化到100%,完成了進(jìn)度條的進(jìn)度動(dòng)畫。

當(dāng)進(jìn)度條達(dá)到100%后,頁(yè)面加載完成,最后還有一步要做的就是隱藏進(jìn)度條。

$(document).ready(function(){  $('.loading').fadeOut();  });
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 阿巴嘎旗| 察隅县| 邓州市| 万州区| 青河县| 清丰县| 大连市| 会理县| 怀宁县| 蓬溪县| 武乡县| 阜阳市| 湄潭县| 达孜县| 呼和浩特市| 永登县| 台安县| 府谷县| 兴化市| 山阴县| 信阳市| 拉孜县| 舒兰市| 东城区| 江油市| 惠州市| 苏州市| 苗栗市| 泾川县| 湟源县| 沧州市| 大石桥市| 富阳市| 洪江市| 金川县| 保康县| 黄大仙区| 城固县| 华宁县| 东乡| 大连市|