精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

為你的Web程序加個啟動畫面

開發 前端
啟動畫面也不是桌面程序所獨有,完全可以在我們的網頁中實現。并且隨著時間的推移,現在Web應用越來紛繁復雜,加載也是很費時的,一個Splash Screen就顯得很有必要了不是么。

 .Net開發者一定熟悉下面這個畫面:

這就是宇宙***IDE Visual Studio的啟動畫面,學名叫Splash Screen(或者Splash Window)。同樣,Javar們一定對Eclipse的啟動畫面不會陌生。不只是IDE,很多桌面程序都會有這個Splash 窗口,在程序進行初始化時顯示。

這方面做得最贊的非Adobe旗下的設計類軟件莫數了,畢竟是搞藝術出身的啊。博主從PS 8.0用起,每次升級新版本激動的不是新功能,首先是激動新的啟動畫面。下圖是***CC版PS的Splash Screen。視覺效果震撼的一逼。。張牙舞爪的,無出其右。

[[111905]]

 

啟動畫面也不是桌面程序所獨有,完全可以在我們的網頁中實現。并且隨著時間的推移,現在Web應用越來紛繁復雜,加載也是很費時的,一個Splash Screen就顯得很有必要了不是么。

比如谷哥的Gmail,要是全屏運行,就一個原生App的感覺。

下面我們就來為我們的Web應用加上Gmail一樣的Splash Screen。程序可以很渣,若表面功夫到位了同樣可以顯得高端大氣上檔次。

效果預覽請點我   瀏覽代碼請點我

進度的獲取

展示靜態圖片還好,如果你的啟動界面要顯示程序進行的進度的話,一個很棘手的問題來了,如何獲取進度。經過大量的調研(寫過論文的同學都知道,類似'經過大量實驗表明…'的表述其實很有可能是只做了一次實驗就開始寫結論了)我發現,沒有辦法獲取一個頁面的實際下載進度!當然,不排除我孤陋寡聞,如果你知道這樣的方法請告訴我。

對于頁面中的異步操作,倒是可以監聽到進度的。但也得分情況。HTML5規范中,Ajax多了個progress事件,通過它可以獲取異步操作的完成情況,但前提是event.lengthComputable屬性為真是才管用。也就是說有些請求的結果我們是可以知道大小的,但更多時候服務器返回的內容的大小是不確定的,這種情況下即使你監聽了progress事件也無法獲取真實的操作進度。

既然如此,那我們就不要那么死磕,具體進行到百分之幾意義不大,我們的目的是提高用戶體驗,在用戶等待的這個過程中有東西可看,或者有一個活著的會動的東西表明程序還在跑而不是出錯了卡死了。所以給用戶展示一個會動的進度條即可(我相信大多數帶進度條的程序也是這么干的),直到頁面全部加載完成時把進度條托到100%。

插曲:在我探索如何獲取頁面真實下載進度的過程中,研究了pace.js的代碼,一個做得非常棒的頁面加載進度插件,發現他內部也是這么干的,頁面上顯示的進度并不真實返回頁面加載的實現進度,只是不斷的增加而以,等頁面加載完了再拖到100%。當然該庫寫得比較完善,處理了各種情況比如ajax,web socket等。另外就是Gmail,經過大量(也有可能只有兩三次,請不必太認真)的刷新頁面嘗試之后,我發現個規律,它的進度條會一路跑到一個點然后停下來,然后再一路跑到終點!之前的結論。(不過谷歌擁有牛逼烘烘的工程師,不排除他用了啥高科技算法在里面能夠精確地返回頁面加載的進度。Anyway, 如果我這里的結論錯,請別太認真找我麻煩)

Nprogress

方便起見,這里使用nprogress這個JS庫來顯示動畫。它提供了很方便的幾個API可供我們使用。

NProgress.start() — 啟動進度條

NProgress.set(0.4) — 將進度設置到具體的百分比位置

NProgress.inc() — 少量增加進度

NProgress.done() — 將進度條標為完成狀態

定義我們的Splash Screen

好的,思路出來了下面我們就開始毫無技術含量的施工。

具體來說,首先頁面只顯示我們預先定義好的Splash Screen,它要占滿整個屏幕且z-index設為頁面中***。

這里直接借用Juri 發表在他博客中的代碼,不過我們使用我之前一篇博文《前端冷知識集錦》可提到的技巧,將HTML代碼存放在一個script標簽中。

  1. <script type="text" id="splash-template"
  2.     <div class="splash card"
  3.         <div role="spinner"
  4.             <div class="spinner-icon"></div> 
  5.         </div> 
  6.         <p class="lead" style="text-align:center">不要回來,馬上走開...</p> 
  7.         <div class="progress"
  8.             <div class="mybar" role="bar"
  9.             </div> 
  10.         </div> 
  11.     </div> 
  12. </script> 

這個splash screen會在HTML加載好之后***時間顯示。接下來就可以這樣做了,在頁面最開始調用 Nprogress.start()啟動進度條,而在這個splash screen下方遮住的頁面中,繼續我們程序的初始化,做其他一些非常耗時的操作等。比如你想象一下Gmail,最開始可能頁面只有顯示進度條那些基本的HTML和JS代碼,然后需要向服務器請求大量的郵件信息,數據接收完后,再組織成HTML生成郵件列表append到頁面,但這個過程因為被進度條擋住了,所以我們看不見。等一切就緒,再調用Nprogress.done()將進度條隱藏。這時你看到的就是一個完整的頁面了。

事件的順序

window.onload事件是在整個頁面加載完成,包括其中所有圖片,iframe等。所以,可以確定在這個事件里面把進度搞到100%是沒有問題且邏輯正確的。

確定了何時結束再來看何時開始。既然我們一開始就要顯示Splash Window且操作之前定義好的splash screen模板,意思就是說再怎么早開始也得等我們splash screen部分的HTML加載完成之后再進行吧。所以,得到的結論就是把進度條開始的代碼放在這部分HTML代碼之后,但這種HTML中插JS的做法很不好,所以***決定還是放在$(document).ready()里面,因為這個事件是在頁面HTML加載完后觸發的,但只是DOM,不包括其他比如上面提到的圖片,iframe等,所以它是比window.onload先觸發的。

所以在頁面的head標簽里面加入以下代碼:

  1. $(function() { 
  2.     NProgress.configure({ 
  3.         template: $('#splash-template').html() 
  4.     }); 
  5.     NProgress.start(); 
  6. }); 
  7. $(window).load(function() { 
  8.     NProgress.done(); 
  9. }) 

 實際應用中更科學的做法其實應該是這樣的,頁面只有關于進度條的代碼,程序的內容全部通過Ajax填充到頁面,然后在頁面中監視所有Ajax的返回情況。

模擬耗時的操作

一切就緒了,但需要解決一個事情就是如何模擬耗時的操作。我們現在弄的這個例子它不費時,無法看到緩慢的加載效果,并且本地測試,放上幾十張圖片都會很快就完事。

當然可以用setTimeout來達到目的,但不太科學吧,還是要弄得真實點。于是我們在頁面放一個iframe,從其他網站引用頁面,這樣多少會有些加載的時間。

所以這個例子***的代碼差不多是這樣的了:

HTML:

  1. <!doctype html> 
  2. <html> 
  3.     <head> 
  4.         <meta charset="utf-8"> 
  5.         <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 
  6.         <meta name="description" content=""> 
  7.         <meta name="viewport" content="width=device-width, initial-scale=1"> 
  8.         <title>splash screen example</title> 
  9.         <link rel="stylesheet" href="nprogress.css"> 
  10.         <link rel="stylesheet" href="main.css"> 
  11.         <script src="jquery.min.js"></script> 
  12.         <script src="nprogress.js"></script> 
  13.         <script type="text/javascript"> 
  14.             $(function(){ 
  15.                 NProgress.configure({ 
  16.                     template: $('#splash-template').html() 
  17.                 }); 
  18.                 NProgress.start(); 
  19.             }); 
  20.             $(window).load(function(){ 
  21.                 NProgress.done(); 
  22.             }) 
  23.         </script> 
  24.     </head> 
  25.     <body> 
  26.         <script type="text" id="splash-template"> 
  27.             <div class="splash card"> 
  28.                 <div role="spinner"> 
  29.                     <div class="spinner-icon"></div> 
  30.                 </div> 
  31.                 <p class="lead" style="text-align:center">不要回來,馬上走開...</p> 
  32.                 <div class="progress"> 
  33.                     <div class="mybar" role="bar"> 
  34.                     </div> 
  35.                 </div> 
  36.             </div> 
  37.         </script> 
  38.         <iframe id="iframe" style="width: 100%; height: 660px;" src="http://wayou.github.io/SlipHover/" frameborder="0"></iframe> 
  39.     </body> 
  40. </html> 

加入些美化的樣式:

CSS:

  1. html,body,iframe{ 
  2.     margin0
  3.     padding0
  4.  
  5. #nprogress{ 
  6.     positionfixed
  7.     top: 0
  8.     right: 0
  9.     bottom: 0
  10.     left: 0
  11.     background-color#f7f7f7
  12.     z-index999
  13. .spinner-icon
  14.     displaynone!important
  15.  
  16. .splash { 
  17.     position:absolute
  18.     top:40%
  19.     left:0
  20.     right:0
  21.     marginauto
  22.   } 
  23.  
  24.   .splash img { 
  25.     displayblock
  26.     margin-leftauto
  27.     margin-rightauto
  28.     height100px
  29.     width100px
  30.   } 
  31.  
  32.   .card { 
  33.     background-color#f7f7f7
  34.     padding20px 25px 15px
  35.     margin0 auto 25px
  36.     width380px
  37.   } 
  38.  
  39.   .mybar { 
  40.     background#29d
  41.     height:10px
  42.   } 
  43.  
  44.   .progress { 
  45.     height10px
  46.     overflowhidden
  47.   } 

 現在可以運行頁面查看效果了。好了,就這么多。效果預覽請點我

 Reference

原文鏈接:http://www.cnblogs.com/Wayou/p/gmail_like_page_loading_progress_bar.html

責任編輯:林師授 來源: 博客園
相關推薦

2009-04-08 10:51:59

Windows Emb

2010-11-23 10:51:45

UI交互設計產品管理

2011-08-19 14:47:48

iPhoneiPhone4iPad

2009-03-06 14:39:20

LinuxUbuntuUsplash

2009-02-20 09:17:27

Windows 7啟動畫面構思

2009-12-02 08:56:07

Windows 7啟動畫面

2011-07-26 15:56:53

iPhone 游戲 啟動畫面

2015-11-20 17:36:50

AWS S3 buckAWS安全控制

2009-03-25 09:05:24

微軟Windows 7操作系統

2009-04-22 21:24:14

Bootsplash嵌入式啟動畫面

2009-02-26 09:38:50

Ubuntu 9.04啟動畫面發布

2021-01-13 09:16:20

編程頁面畫面

2011-11-15 10:28:37

2010-11-04 18:11:35

UI設計SilverlightWindows Pho

2021-02-21 08:12:24

SVG線條動畫Web動畫

2022-08-01 08:12:14

位運算代碼性能

2022-02-23 15:33:19

前端框架開發Web

2009-10-22 11:03:20

OSGi Web應用程

2021-02-21 07:49:40

Web動畫SVG線條動畫

2015-06-05 14:10:25

WEB思維形象生動
點贊
收藏

51CTO技術棧公眾號

午夜亚洲福利老司机| 理论电影国产精品| 国产视频亚洲视频| 91chinesevideo永久地址| 又黄又爽的网站| 国精产品一区一区三区四川| 成人欧美一区二区三区视频网页| 成人毛片网站| 国产日韩久久久| 欧美日本一区二区高清播放视频| 国产视频综合在线| 日本精品一区在线| 日韩欧美看国产| 亚洲精品久久嫩草网站秘色| 欧美综合77777色婷婷| 99产精品成人啪免费网站| 麻豆成人精品| 欧美国产亚洲视频| 纪美影视在线观看电视版使用方法| 日韩区欧美区| 欧美日韩一区二区三区不卡| 人体内射精一区二区三区| 亚洲xxxxxx| 91伊人久久大香线蕉| 欧美人交a欧美精品| 国产偷人妻精品一区| 久久久久毛片免费观看| 在线亚洲一区观看| 久久久久高清| 国产夫妻性生活视频| 老司机久久99久久精品播放免费| 欧美精品一区三区| 无码人妻丰满熟妇啪啪欧美| 精品国内亚洲2022精品成人| 欧美一级二级三级乱码| 另类小说色综合| 成人好色电影| 波多野结衣精品在线| 亚洲v日韩v综合v精品v| 在线观看中文字幕网站| 天堂一区二区在线| 91干在线观看| 国产精品500部| 亚洲欧洲美洲国产香蕉| 精品国产网站在线观看| 国产高清999| 一级欧美视频| 欧美裸体一区二区三区| 亚洲污视频在线观看| 美女网站视频一区| 91久久一区二区| 青青青在线播放| 国产伦精品一区二区三区视频金莲| 亚洲国产乱码最新视频 | 香蕉久久一区| 欧美日韩国产乱码电影| 天天操,天天操| 国产精品一区二区免费福利视频| 精品污污网站免费看| wwww.国产| 国产精品2区| 午夜精品久久一牛影视| 男女视频网站在线观看| av漫画网站在线观看| 亚洲777理论| www黄色日本| 欧美特大特白屁股xxxx| 欧美综合在线视频| 性生生活大片免费看视频| 国产高清视频一区二区| 精品国产乱码久久久久久图片 | 91麻豆国产香蕉久久精品| 日韩美女视频免费在线观看| 亚洲天堂一区在线| 日韩电影在线一区二区三区| 久久的精品视频| 五月婷婷一区二区| 一本色道精品久久一区二区三区| 日本欧美在线视频| 怡红院男人的天堂| 国产精品综合二区| 国严精品久久久久久亚洲影视| 啪啪小视频网站| 六月婷婷色综合| 97av自拍| 色鬼7777久久| 中文字幕国产精品一区二区| 一二三四中文字幕| 九九精品调教| 91黄色小视频| 麻豆短视频在线观看| 久久不见久久见中文字幕免费| 日韩中文字幕网站| 国产精品美女毛片真酒店| 久久久久99| 亚洲最大的免费| 青梅竹马是消防员在线| 自拍偷拍国产精品| 少妇高潮喷水在线观看| 日韩成人综合网| 亚洲精品久久久久久久久久久久 | 亚洲麻豆国产自偷在线| 欧日韩一区二区三区| 日韩免费网站| 午夜精品久久久久久久久久| 色婷婷一区二区三区av免费看| 成人三级av在线| 日韩在线观看免费网站 | 欧美剧情片在线观看| 国产一级黄色录像| 婷婷综合久久| 日韩av手机在线看| 日韩中文字幕免费观看| 综合久久一区二区三区| 91av在线免费播放| 成人性生活视频| 欧美一区二区三区爱爱| 久久6免费视频| 美女网站一区| 午夜精品福利电影| 国产日韩免费视频| 国产精品免费丝袜| 日韩毛片在线免费看| 国产伦精品一区二区三区免费优势 | 日本一二三四区视频| 精品久久久久久久| 在线看日韩欧美| 色屁屁草草影院ccyy.com| 亚洲成色精品| 91免费看蜜桃| 麻豆传媒视频在线观看免费| 色综合天天视频在线观看| 国内精品免费视频| 欧美日本一区二区视频在线观看| 91精品久久久久久久久中文字幕| 欧洲伦理片一区 二区 三区| 亚洲第一久久影院| 性活交片大全免费看| 欧美精品自拍| 成人激情在线播放| 蜜桃视频在线观看www社区| 色综合色综合色综合 | 国产精品怡红院| 国产suv精品一区二区三区| 亚洲国产日韩美| 97精品国产99久久久久久免费| 亚洲天堂av图片| 国产第一页在线观看| 国产亚洲一区二区三区在线观看 | 国产九色在线| 91极品美女在线| 无码人妻aⅴ一区二区三区69岛| 精品福利久久久| 日本高清视频一区| 国产九色在线| 欧美日韩精品一区二区三区四区 | 色呦呦久久久| 日韩视频在线永久播放| 免费一级全黄少妇性色生活片| 国产麻豆成人精品| a级黄色片免费| 成人在线超碰| 欧美一区二区三区精品电影| 欧美香蕉爽爽人人爽| 色成人在线视频| 成年人视频软件| 国产精品亚洲视频| 成年女人18级毛片毛片免费| 日韩有码中文字幕在线| 国产精品美女在线| 国产盗摄在线观看| 亚洲精品在线一区二区| 久久国产视频一区| ㊣最新国产の精品bt伙计久久| 超级砰砰砰97免费观看最新一期| 欧美日韩国产在线一区| 美女一区视频| 青草综合视频| 久久久久国产精品一区| 三级视频在线| 91精品婷婷国产综合久久性色| 青青草原国产视频| 久久先锋影音av鲁色资源网| 午夜激情av在线| 伊人影院久久| 亚洲高清视频一区| xxxx日韩| 国产精品久久久久久网站| 99在线播放| 亚洲女同精品视频| 国产三级三级在线观看| 欧美日韩激情视频| 欧美性生交大片| 99re热这里只有精品免费视频 | 国产伦精品一区二区三区视频青涩 | 亚洲一级网站| 亚洲精品日韩精品| 欧美电影在线观看完整版| 国产免费亚洲高清| 在线能看的av网址| 欧美肥婆姓交大片| av电影在线观看| 欧美性69xxxx肥| 91麻豆精品成人一区二区| 99热99精品| 天天操夜夜操很很操| 亚洲欧美清纯在线制服| 三级在线免费观看| 欧美在线色图| 久久99欧美| 亚洲免费一区三区| 国产久一一精品| 大胆人体一区| 国内精品久久久久影院优 | 一区二区在线高清视频| 另类ts人妖一区二区三区| 成人激情在线观看| 国产成人精品一区二三区在线观看 | 日韩av最新在线| 天海翼一区二区| 国产精品久久午夜| 性欧美13一14内谢| av福利精品导航| 国产清纯白嫩初高中在线观看性色| 热久久一区二区| 欧美aⅴ在线观看| 在线欧美不卡| 91午夜在线观看| 午夜国产欧美理论在线播放 | 亚洲午夜一区| 99re8这里只有精品| 999国产精品| 亚洲一区二区精品在线观看| 国产videos久久| 精品国产免费一区二区三区| jizz18欧美18| av成人在线电影| 欧美久久一区二区三区| 91在线色戒在线| 精品三级国产| 亚洲mm色国产网站| 精品视频91| 5g国产欧美日韩视频| 欧美9999| 91影院未满十八岁禁止入内| 久久在线观看| 99国产高清| 超碰cao国产精品一区二区| julia一区二区中文久久94| 亚洲国产一区二区三区网站| 翡翠波斯猫1977年美国| 91成人入口| 国产精品区一区二区三含羞草| 香蕉成人app| 国产无套精品一区二区| 另类ts人妖一区二区三区| 免费试看一区| 欧美日韩在线网站| 伊人天天久久大香线蕉av色| 久久精品国内一区二区三区水蜜桃| 中文字幕黄色大片| 欧美日韩亚洲一区三区| 拔插拔插海外华人免费| 亚洲欧美日韩国产一区二区| 国产免费人做人爱午夜视频| 九九精品久久| 日韩aⅴ视频一区二区三区| 北条麻妃国产九九九精品小说 | 91黄色精品| 精品亚洲免a| 日本视频一区在线观看| 久久福利影院| 精品久久久无码人妻字幂| 在线免费高清一区二区三区| 日韩一级免费在线观看| 精品一区二区在线视频| 欧洲精品一区二区三区久久| 国产日韩欧美一区| 成人短视频在线看| 狠狠久久婷婷| 国产97色在线 | 日韩| 黄页网站大全一区二区| 成人免费毛片播放| 久久99蜜桃精品| 欧美一区二区免费在线观看| 国产日韩av一区二区| 欧美日韩偷拍视频| 欧美午夜精品久久久久久人妖 | 国产高清不卡二三区| 播金莲一级淫片aaaaaaa| 中文字幕中文字幕一区| 日韩精品一区二区不卡| 欧美日韩一区二区三区在线看 | 在线播放亚洲激情| 久久www人成免费看片中文| 国产91在线播放| 欧美国产中文高清| 亚洲电影免费| 中文国产一区| 特种兵之深入敌后| 国产网站一区二区| 日韩欧美性视频| 91精品国产日韩91久久久久久| 色哟哟在线观看| 欧美贵妇videos办公室| 国产欧美在线观看免费| 久久久亚洲综合网站| 欧美激情视频一区二区三区在线播放| 久草青青在线观看| 成人综合在线观看| 亚洲欧洲国产视频| 从欧美一区二区三区| 亚洲天堂精品一区| 中文字幕亚洲综合久久菠萝蜜| 国产精品9191| 在线综合视频播放| 波多野结衣在线影院| 欧美中文字幕视频| 国产美女撒尿一区二区| 最新视频 - x88av| 日韩精品免费专区| 亚洲网中文字幕| 国产精品夫妻自拍| 中文字幕免费播放| 亚洲一区二区久久| 日本久久免费| 免费成人在线观看av| 亚洲裸体俱乐部裸体舞表演av| 最好看的中文字幕| 一区二区三区日韩在线观看| 国产又粗又猛又色又| 日韩在线中文视频| 久久久久黄色| 亚洲日本精品| 久久国产剧场电影| 国产第一页精品| 精品视频一区二区不卡| lutube成人福利在线观看| 国产99久久精品一区二区| 伊甸园亚洲一区| 国产精彩免费视频| 国产日产亚洲精品系列| 中文字幕乱伦视频| 正在播放亚洲1区| 欧美日韩破处视频| 亚洲国产午夜伦理片大全在线观看网站 | 亚洲精品人人| 精品久久久久久无码人妻| 亚洲综合激情小说| 97人人澡人人爽人人模亚洲| 日韩久久精品一区| www555久久| 国新精品乱码一区二区三区18| 亚洲黑丝一区二区| 日韩精品卡通动漫网站| 欧美性色视频在线| 国产免费a∨片在线观看不卡| 国产精品成人免费视频| 久久激情电影| 婷婷激情5月天| 亚洲精品网站在线观看| 午夜老司机福利| 午夜精品久久久久久99热| 丝袜连裤袜欧美激情日韩| 精品99在线视频| 国产精品美日韩| 国产ts人妖调教重口男| 国模私拍一区二区三区| 狠狠做深爱婷婷综合一区| 性刺激的欧美三级视频| 亚洲精选在线视频| 人妻无码中文字幕| 国产成人精品一区| 婷婷综合激情| 日本一卡二卡在线| 欧美性受极品xxxx喷水| 成人短视频在线观看| 动漫一区二区在线| 日韩激情视频网站| 日韩欧美中文字幕视频| 亚洲国产欧美精品| 国产第一亚洲| 大荫蒂性生交片| av成人动漫在线观看| 黄色大全在线观看| 久久久久久久久爱| 欧美三级伦理在线| 91porn在线| 欧美中文字幕亚洲一区二区va在线| 国产原创在线观看| 鲁鲁狠狠狠7777一区二区| 精品一区二区三区免费毛片爱| 精品少妇久久久久久888优播| 国产性猛交xxxx免费看久久| 成人免费91| av网址在线观看免费| 亚洲永久精品国产| 超碰在线国产| 精品在线视频一区二区| 精品在线播放午夜|