新聞中心
Ajax在Web應(yīng)用中使用得越來越頻繁。在進(jìn)行Ajax調(diào)用過程中一般都具有這樣的做法:顯示一個(gè)GIF圖片動(dòng)畫表明后臺正在工作,同時(shí)阻止用戶操作本頁面(比如Ajax請求通過某個(gè)按鈕觸發(fā),用戶不能頻繁點(diǎn)擊該按鈕產(chǎn)生多個(gè)并發(fā)Ajax請求);調(diào)用完成后,圖片消失,當(dāng)前頁面運(yùn)行重新編輯。

以下圖為例,頁面中通過一個(gè)Load鏈接以Ajax請求的方式加載數(shù)據(jù)(左)。當(dāng)用戶點(diǎn)擊該鏈接之后,Ajax請求開始,GIF圖片顯示“Loading“狀態(tài),同時(shí)當(dāng)前頁面被“罩住”防止用戶繼續(xù)點(diǎn)擊Load按鈕(中);Ajax請求完成被返回響應(yīng)的結(jié)果,結(jié)果被呈現(xiàn)出來的同時(shí),GIF圖片和“遮罩”同時(shí)消失(右)。[源代碼從這里下載]
在這里我同樣以ASP.NET MVC應(yīng)用為例,提供一種簡單的實(shí)現(xiàn)方式。我們GIF圖片和作為遮罩的
@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定義了另一個(gè)實(shí)現(xiàn)Ajax調(diào)用的方法ajax2,該方法依然調(diào)用$.ajax(options)實(shí)現(xiàn)Ajax調(diào)用。在ajax2方法中我們將options參數(shù)complete屬性進(jìn)行了“封裝”,讓可以將顯示出來的GIF圖片和遮罩
- ...
- ...
- /html>
那么現(xiàn)在進(jìn)行Ajax調(diào)用的時(shí)候只需要調(diào)用$.ajax2就可以,如下所示的是實(shí)例中“Load”鏈接的click事件的注冊代碼:
文章名稱:Ajax請求過程中顯示進(jìn)度的簡單實(shí)現(xiàn)
標(biāo)題URL:http://m.5511xx.com/article/cdgopeo.html


咨詢
建站咨詢
