2011-07-19 131 views
2

使用下面的代碼,我可以讓對話框在AJAX數據加載時正確顯示,但動畫GIF不是動畫 - 看起來非常糟糕。當我調用AJAX方法時,爲什麼我的動畫GIF沒有動畫?

CSS:

.loading { 
    background: url('/images/loading.gif'); 
} 

的JavaScript:

$(function() { 
    $("#createButton").click(function(e){ 
     e.preventDefault(); 

     var $form = $(this).closest("form"); 

     $("#pleaseWait-dialog").dialog({ 
      modal: true, 
      height: 200, 
      resizable: false, 
      draggable: false 
     }); 

     $.ajax({ 
      type: "GET", 
      url: "myScript.cfm", 
      async: true, 
      success: function() { 
       $form.submit(); 
      } 
     }); 

     return false; 
    }); 
}); 

HTML:

<form action="post.cfm" method="post"> 
    <input 
     id="createButton" 
     type="submit" 
     name="createButton" 
     value="Create a New Thing" /> 
</form> 
<div id="pleaseWait-dialog" title="Gathering Data" style="display:none;"> 
    <span class="loading"></span> 
    <p>Thank you for your patience while we gather your data!</p> 
</div> 
+1

你的動畫gif在哪裏?我無法在任何地方看到對GIF的引用...如果您通過樣式添加它,我不確定GIF是否會作爲背景圖片生成動畫... – Chris

+0

GIF在CSS中(我添加了它以便澄清)。僅供參考,GIF作爲背景圖像生成動畫。 –

回答

0

儘量展現它,當用戶點擊和Ajax請求結束後隱藏它。

$(function() { 
$("#createButton").click(function(e){ 
    $('#pleaseWait-dialog').show(); 
    e.preventDefault(); 

    var $form = $(this).closest("form"); 

    $("#pleaseWait-dialog").dialog({ 
     modal: true, 
     height: 200, 
     resizable: false, 
     draggable: false 
    }); 

    $.ajax({ 
     type: "GET", 
     url: "myScript.cfm", 
     async: true, 
     success: function() { 
      $form.submit(); 
     } 
    }); 

    return false; 
    }); 
}); 
2

這個問題只在IE瀏覽器中?看到這個頁面關於IE導致動畫GIF問題。表單提交完成後,您的動畫gif可能會變得混亂。本頁面將對此進行深入討論。

http://www.stillnetstudios.com/animated-in-progress-indicator-for-long-running-pages/

一種解決方法是,以顯示等待表單提交調用後。當然,如果您的AJAX呼叫需要很長時間才能處理,您的用戶將不知道發生了什麼。

+0

感謝您的信息 - 我目前正在IE中測試。表單提交後顯示加載器的結果相同。總的來說,我希望用戶知道正在做的事情,可能需要幾秒鐘,所以他們不會嚇壞了,並刷新,等等。 –

0

要重新開始動畫,請將圖像的src屬性設置爲其當前值。

See this answer代碼使用超時在幾毫秒後重新啓動動畫。

0

爲了使其在IE中工作插入與gif裏面的iframe,聽起來很瘋狂,但工程。

相關問題