新聞中心
這里有您想知道的互聯網營銷解決方案
Ajax請求過程中顯示進度的簡單實現
Ajax在Web應用中使用得越來越頻繁。在進行Ajax調用過程中一般都具有這樣的做法:顯示一個GIF圖片動畫表明后臺正在工作,同時阻止用戶操作本頁面(比如Ajax請求通過某個按鈕觸發(fā),用戶不能頻繁點擊該按鈕產生多個并發(fā)Ajax請求);調用完成后,圖片消失,當前頁面運行重新編輯。

以下圖為例,頁面中通過一個Load鏈接以Ajax請求的方式加載數據(左)。當用戶點擊該鏈接之后,Ajax請求開始,GIF圖片顯示“Loading“狀態(tài),同時當前頁面被“罩住”防止用戶繼續(xù)點擊Load按鈕(中);Ajax請求完成被返回響應的結果,結果被呈現出來的同時,GIF圖片和“遮罩”同時消失(右)。[源代碼從這里下載]
在這里我同樣以ASP.NET MVC應用為例,提供一種簡單的實現方式。我們GIF圖片和作為遮罩的
定義在布局文件中,并為它們定制了相應的CSS。其中GIF和遮罩
的z-index分別設置為2000和1000(這個任意,只要能夠讓遮罩的
遮住當前頁面,GIF圖片顯示在最上層即可)。后者通過設置position、top、bottom、left和right是它可以遮住整個頁面,并且將其背景設置為黑色。
@ViewBag.Title - .hide{display:none }
- .progress{z-index: 2000}
- .mask{position: fixed;top: 0;right: 0;bottom: 0;left: 0; z-index: 1000; background-color: #000000}
- ...
@RenderBody()
然后我們通過如下的代碼為jQuery定義了另一個實現Ajax調用的方法ajax2,該方法依然調用$.ajax(options)實現Ajax調用。在ajax2方法中我們將options參數complete屬性進行了“封裝”,讓可以將顯示出來的GIF圖片和遮罩
隱藏起來。同時覆蓋了options的async屬性,是之總是以異步方式執(zhí)行,因為只有這樣瀏覽器才不能被鎖住,GIF也才能正常顯示。在調用$.ajax(options)進行Ajax請求之前,我們將GIF圖片和遮罩
顯示出來,并且將其定位在正中央。遮罩
的透明度進行了相應設置,所以會出現上圖(中)的效果。
分享名稱:Ajax請求過程中顯示進度的簡單實現
轉載源于:http://m.5511xx.com/article/cdgopeo.html
- ...
- ...
- /html>
那么現在進行Ajax調用的時候只需要調用$.ajax2就可以,如下所示的是實例中“Load”鏈接的click事件的注冊代碼:
分享名稱:Ajax請求過程中顯示進度的簡單實現
轉載源于:http://m.5511xx.com/article/cdgopeo.html


咨詢
建站咨詢
