茫茫網海中的冷日
         
茫茫網海中的冷日
發生過的事,不可能遺忘,只是想不起來而已!
 恭喜您是本站第 1670794 位訪客!  登入  | 註冊
主選單

Google 自訂搜尋

Goole 廣告

隨機相片
IMG_60D_00110.jpg

授權條款

使用者登入
使用者名稱:

密碼:


忘了密碼?

現在就註冊!

網頁設計 : [轉貼] Ajax 超簡單做出"loading讀取中"的效果 (可用圖示或文字)

發表者 討論內容
冷日
(冷日)
Webmaster
  • 註冊日: 2008/2/19
  • 來自:
  • 發表數: 15771
[轉貼]讓AJAX運作的時候,跳出loding的訊息 -Part 2
先前寫過一篇有關 Jquery 使用AJAX 可以有Loading的文章。
http://expect7.pixnet.net/blog/post/39829979/

可是後來發現到,在chrome跟Firefoxy都可以正常運作,但是在IE是無法正常運作。

問題出在 JQuery AJAX的參數 async: false。

這個參數是設定是否允許同步處理,簡單說設true,他會允許通時間可以傳送很多AJAX的資訊出去。但是如果設為False,在chrome跟Firefoxy中,網頁會成現假死狀態,他還是可以在網頁上輸入東西或是其它動作,只是沒辦法使用AJAX在傳送東西。但是在IE,他會把整個網頁鎖住,如果AJAX處理過久,又沒有顯是提文字,就會讓人以為網頁當掉了。

後來改了一下,讓大家參考一下。
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="jquery.js"></script>
<script>
var AJAX_Work=function(inputURL){
        $.ajax({
               url: inputURL,
               data: $('#sentToBack').serialize(),
               type:"POST",
               dataType:'text',
               async: false,
               success: function(msg){
                   alert(msg);
               },
               beforeSend:function(){

               },
               complete:function(){
                      $('#loadingIMG').hide();
               },
              error:function(xhr, ajaxOptions, thrownError){
                      alert(xhr.status);
                      alert(thrownError);
               }
         });
}

var Submit=function(){
       var URLs="back.php";
       $('#loadingIMG').show();

       setTimeout(function(){
              AJAX_Work(URLs,"");
       },1);
}
</script>
</head>
<body>
<form id="sentToBack">
      <input type="text" name="Text"/>
      <input type="button" value="送出" onClick="Submit()"/>
</form>
<div id="loadingIMG" style="display:none"><img src="loading.gif" height='14'/>資料處理中,請稍後。</div>
</body>
</html>

這樣子就可以正常顯示了。

概念上就是在他開始跑AJAX之前先把Loading的畫面叫出來,等到他結束了之後,在把畫面給關了。

可是我相信有人會問為什麼要加上setTimeout?因為我測過,如果不加上setTimeout,電腦會來不及顯示就會被鎖住了。

還有show裡面步要帶slow,不然也沒辦法正常運作。

希望大家提供更多資訊給我參考,這是我目前的解法,不是很好,可是勉強堪用。

原文出處:7Headlines - [程式][JQuery] 讓AJAX運作的時候,跳出loding的訊息 -Part 2。 @
前一個主題 | 下一個主題 | | | |

討論串




Powered by XOOPS 2.0 © 2001-2008 The XOOPS Project|