網(wǎng)頁加載進(jìn)度條的JS程序開發(fā)思路與實際應(yīng)用

作者:網(wǎng)站建設(shè)公司 來源:佛山網(wǎng)站建設(shè)日期:2020-11-11 瀏覽: 次

網(wǎng)站建設(shè) - 建站教程 - 網(wǎng)站定制開發(fā) - 網(wǎng)頁加載進(jìn)度條的JS程序開發(fā)思路與實際應(yīng)用


頁面加載進(jìn)度條實現(xiàn)原理:
將要加載的js動態(tài)的添加到head中,并根據(jù)每個是否加載完成,統(tǒng)計當(dāng)前一共加載完成的個數(shù)。當(dāng)每一項都加載完成,加載成功。設(shè)置加載失敗時間。當(dāng)超過這個時間提示加載失敗。

一、實現(xiàn)邏輯與概念

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

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

具體是如何設(shè)置呢?先我們將網(wǎng)頁分成若干區(qū)域,就以 frontopen來說,網(wǎng)站的結(jié)構(gòu)分為head區(qū)域、mian區(qū)域(文章主體部分)、sidebar側(cè)邊欄、foot腳部 四個部分??紤]做一個范圍粗獷一點 進(jìn)度反饋效果。

將進(jìn)度反饋設(shè)置為四個部分:head部分返回30%進(jìn)度,main部分返回60%進(jìn)度,sidebar部分返回70%進(jìn)度,后foot加載完成后返回100%。

二、實現(xiàn)方法

1.先我們需要在html頁面中,給進(jìn)度條設(shè)定設(shè)定一個容器。例如本博的body下方會有一個“<div class=”loading”></div>”的div容器,這就是后面我們需要操作并顯示的進(jìn)度條了,當(dāng)然大家有興趣的話可以設(shè)置更多有個性的進(jìn)度條。

2.為loading容器設(shè)定樣式,以本博的進(jìn)度條為例,樣式如下:

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

3.通過jquery的animate動畫效果,來實現(xiàn)進(jìn)度條的動畫加載過程。簡單的進(jìn)行構(gòu)思,決定使用由左向右的加載效果。終animate的執(zhí)行代碼為“$(‘.loading’).animate({‘width':’100%’},200);”

4.思考需要設(shè)置幾個加載進(jìn)度節(jié)點。上面通過構(gòu)思,我們已經(jīng)決定使用30%、60%、70%、100%四個進(jìn)度節(jié)點,分別插入到對應(yīng)的頁面位置。并結(jié)合上面的animate動畫代碼,終確定四個進(jìn)度節(jié)點的代碼為:$(‘.loading’).animate({‘width':’30%’},50) 、 $(‘.loading’).animate({‘width':’60%’},50) 、 $(‘.loading’).animate({‘width':’70%’},50) 、 $(‘.loading’).animate({‘width':’100%’},50)。 可能大家會問,為什么速度變成了50毫秒?因為之前一步加載為100%的動畫被分成份,所以為了保證動畫的連貫性,將其每份切分成為50毫秒。

三、插入到頁面中的實際應(yīng)用示例

以本博模板頁文件index.php為例,給大家展示四個節(jié)點如何插入到對應(yīng)的位置。當(dāng)然這個示例只是為了更好的解釋上面的程序策劃結(jié)論,并不限于這種設(shè)置方法。大家在需要的地方可以發(fā)揮更多的想象,舉一反三創(chuàng)造出更絢麗的樣式。

index.php文件代碼

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 <?php /** * The main template file. * * This is the most generic template file in a WordPress theme * and one of the two required files for a theme (the other being style.css). * It is used to display a page when nothing more specific matches a query. * E.g., it puts together the home page when no home.php file exists. * Learn more: http://codex.wordpress.org/Template_Hierarchy * * @package WordPress * @subpackage Twenty_Ten * @since Twenty Ten 1.0 */ ini_set('display_errors', false);  //關(guān)閉報錯   get_header(); ?>  //引用模板的頭部PHP文件 <script type="text/javascript">     $('.loading').animate({'width':'33%'},50);  //個進(jìn)度節(jié)點 </script>                <div class="main">               <?php             /* Run the loop to output the posts.              * If you want to overload this in a child theme then include a file              * called loop-index.php and that will be used instead.              */              get_template_part( 'loop', 'index' );             ?>             </div><!-- #main --> <script type="text/javascript"> $('.loading').animate({'width':'55%'},50);  //第二個節(jié)點 </script> <?php get_sidebar(); ?>  //引用sidebar模板php文件 <script type="text/javascript">     $('.loading').animate({'width':'78%'},50);  //第三個節(jié)點 </script> <?php get_footer(); ?>  //引用foot模板php文件 <script type="text/javascript">     $('.loading').animate({'width':'100%'},50);  //第四個節(jié)點 </script>

四、程序的補(bǔ)充完善與優(yōu)化
通過上面三步、已經(jīng)基本可以完成整個loading程序的運(yùn)行。但是進(jìn)度條加載完成后,無法自動消失?這當(dāng)然是不行的了,因此我們需要使用另外一段代碼,在文檔加載完成后將進(jìn)度條隱藏。
代碼如下:

1 2 3 $(document).ready(function(){     $('.loading').fadeOut();     });

通過以上設(shè)置,即可當(dāng)頁面100%加載完成后,執(zhí)行jquery的fadeOut函數(shù),將進(jìn)度條隱藏,完成整個程序的收尾。


企業(yè)網(wǎng)站建設(shè)一條龍
找零度飛易網(wǎng)絡(luò)公司-fslingdu所做php網(wǎng)站建設(shè)方案、網(wǎng)站設(shè)計、網(wǎng)站制作北京上海深圳龍崗衢州蘭州常州東營南通濟(jì)寧桂林淮安煙臺長春無錫天津昆山蘇州合肥洛陽昆明天津唐山泉州惠州萬州新鄉(xiāng)商丘臺州哈爾濱太原攝影???/strong>隨州學(xué)校商丘廣東湖南廣西江西海南廣州企業(yè)中小企業(yè)武漢南山羅湖福田虎門肇慶汕尾汕頭廣州佛山成都杭州濟(jì)南重慶福州西安廈門昆山沈陽青島徐州鄭州南京南寧長沙大連淄博石家莊南昌溫州珠海番禺順德三水高明中山東莞合肥江門嘉興西寧大良容桂倫教勒流陳村均安杏壇龍江樂從北滘祖廟石灣南莊等地區(qū)企業(yè)網(wǎng)站建設(shè)(廣告)公司提供專業(yè)做網(wǎng)站價格規(guī)劃書及營銷型網(wǎng)站制作,網(wǎng)站建設(shè)基礎(chǔ)知識
標(biāo)簽:網(wǎng)頁開發(fā)

網(wǎng)站建設(shè)費(fèi)用

網(wǎng)站制作電話:137 1543 1176

網(wǎng)站開發(fā)QQ:378780108

E-mailsale@fslingdu.com如何制作網(wǎng)站QQ :378780108

網(wǎng)站建設(shè)服務(wù)

網(wǎng)站建設(shè)公司零度飛易是一家專業(yè)網(wǎng)站設(shè)計,網(wǎng)站制作、seo優(yōu)化,網(wǎng)站推廣,網(wǎng)站建設(shè)的佛山網(wǎng)絡(luò)運(yùn)營公司。零度飛易在家具網(wǎng)站建設(shè)、小家電網(wǎng)站建設(shè)、服裝網(wǎng)站建設(shè)電器網(wǎng)站建設(shè)、機(jī)械網(wǎng)站建設(shè)等行業(yè)的網(wǎng)站設(shè)計、網(wǎng)絡(luò)運(yùn)營都得到行業(yè)認(rèn)可,在上海、深圳、北京廣州、佛山、中山、東莞地區(qū)有著良好的口碑品牌的網(wǎng)站建設(shè)公司。我們的使命是打造創(chuàng)新型的網(wǎng)站建設(shè)企業(yè),能輕易地開展“互聯(lián)網(wǎng)+”業(yè)務(wù)、實現(xiàn)“互聯(lián)網(wǎng)+企業(yè)”的企業(yè)愿景。

Hi,Are you ready?

準(zhǔn)備好開始了嗎?
那就與我們?nèi)〉寐?lián)系吧

有一個互聯(lián)網(wǎng)項目想和我們談?wù)剢幔磕梢蕴顚懹疫叺谋砀?,讓我們了解您的項目需求,這是一個良好的開始,我們將會盡快與你取得聯(lián)系。當(dāng)然也歡迎您給我們寫信或是打電話,讓我們聽到你的聲音!

零度飛易 互聯(lián)網(wǎng)整合營銷

地址:佛山市順德區(qū)大良鳳翔商業(yè)廣場二座670

業(yè)務(wù)QQ:378780108

策劃專線:13715431176

E-mail:sale@fslingdu.com

合作意向表

您需要的服務(wù)

現(xiàn)有網(wǎng)站改版
我需要做微信營銷
建設(shè)全新的企業(yè)網(wǎng)站
要找長期合作公司,需要年度服務(wù)
我需要做購物商城
我需要做系統(tǒng)平臺

您最關(guān)注的地方

對功能要求比較高
對設(shè)計創(chuàng)意要求比較高
需要可以購物支付
搜索引擎排名

價格預(yù)算

1-3萬3-5萬5-8萬8-10萬10萬以上大型項目需要招標(biāo)

原神乳液狂飙开襟网站mimei,正文和朋友换娶妻游戏,电影essuess,苏娅苏语棠元宵节md0217BD,安全隐私保护,高速低延迟,高质量真免费海外加速【可复制网址到浏览器中打开】 ,免费夜里18款禁用软粉色APP,果酱tv.app,1001个视角,poren HD,丕丕漫画网页登录页面入口免费