2012-01-17 48 views
0

它是一個簡單的任務,顯示一個loader.gif,但不知何故此代碼片段只能在firefox中運行,並且在其他瀏覽器中失敗。

我想實現的是當用戶點擊發送電子郵件按鈕時,他們應該看到一個加載器的gif圖像。 加載器的GIF圖像是其ID是驗證的部分。

我已經在這裏投資了大約8個小時,並嘗試測試所有的替代品,如$ ajaxsetup,$ ajaxsend,$ ajaxstart等,但沒有爲我工作。

一個簡單的例子,其在流行的瀏覽器的工作原理是什麼,我需要

這裏是我的代碼

 
$j("#dialog-form").dialog({ 
       autoOpen: false, 
       height: 435, 
       width: 400, 
       modal: true, 
       buttons: { 
        "Send Email": function() { 

      $j("#validate").show(); 
      setTimeout(ProcessRequest(),5000); 


         } 
        }, 
        Cancel: function() { 
         $j(this).dialog("close"); 
        } 
       }, 
       close: function() { 
        allFields.val("").removeClass("ui-state-error"); 
       } 

function ProcessRequest() 
      { 

          var jqxhr = $j.post(
            "posturl.aspx", 
            { name: name.val(), email: email.val(), phone: phone.val(), date: date.val() }, 

          function(data) { 
           result=data; 
          }).success(function() { OnSuccess(); }) 
          .error(function() { OnError(); }); 

          jqxhr.success(function() { OnSuccess(); }); 
          jqxhr.error(function() { OnError(); }); 

      } 

     <div id="validate" style="display:none"> 
       <img src='trns_loader.gif' /> Your Order is being processed 
</div> 

回答

0

,我使用loader.gif的方式是非常低的技術和工作太棒了。

我把loader.gif作爲主div的背景,位置居中。

然後加載任何內容,我將背景變成白色。

通過這種方式,加載器顯示直到內容被添加到對話框。

適用於所有瀏覽器。