前言
相信每位開發者都應該有所了解,當用戶發出AJAX請求時,如果長時間處于請求階段,而沒有給出用戶回應,會給用戶造成錯覺,導致用戶以為我們的系統“沒反應“了。這從某方面來講是一種不友好。
甚至有的時候,用戶看不到想要的結果,就會不停的請求,這樣會發生意想不到的后果。
所以,當發出AJAX請求時,我們給出一定的措施,保證系統的正確運行和良好的用戶體驗。
在這里,我使用的是:顯示加載中圖片,并彈出一個圖層,使用戶不能再次發出請求。
實現方法
HTML部分:
<p id="loading" class="loadingp"> <img src="images/data-loading.gif" alt="圖片加載中···" /> </p>
HTML部分只需要放置一個p,里面包含一個img。
CSS樣式:
/*圖片加載中p圖層,用于遮擋頁面*/ .loadingp { position:absolute; text-align:center; left:0px; top:0px; z-index:70; background-color:#000000; opacity: 0.7;/*透明#CCCCCC*/ display:none; } /*加載中圖片*/ .loadingp img { position:absolute; left:0px; top:0px; z-index:80; }
對p和img進行樣式設置。
JS代碼
//ajax請求過程中,顯示加載中圖片并顯示圖層,請求完成隱藏圖片 $(function () { //注冊ajax加載事件 $("#loading").ajaxStart(function () { //一個p,用來遮擋頁面,請求過程中,不可操作頁面 var lockwin = $(this); //p占滿整個頁面 lockwin.css("width", "100%"); lockwin.css("display", "block"); lockwin.css("height", $(window).height() + $(window).scrollTop()); //設置圖片居中 $("#loading img").css("display", "block"); $("#loading img").css("left", ($(window).width() - 88) / 2); $("#loading img").css("top", ($(window).height() + $(window).scrollTop()) / 2); }); $("#loading").ajaxStop(function () { //隱藏p var lockwin = $(this); lockwin.css("width", "0"); lockwin.css("display", "none"); lockwin.css("height", "0"); //設置圖片隱藏 $("#loading img").css("display", "none"); }); });
相信看了本文案例你已經掌握了方法,更多精彩請關注Gxl網其它相關文章!
推薦閱讀:
Ajax怎么操作post請求跳轉頁面
使用Ajax實現根據人力資源系統數據增加OA賬號的方法
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com