2011-02-04 46 views
1

問題出在這裏;我有一個'加載'圖像 - 這只是標準的spinner.gif動畫,通常用於指示幕後發生的事情。下面的代碼:頁面刷新後不出現加載圖像

$(document).ready(function() { 
     var spinner = $('<img />').attr('src', '/media/images/icons/spinner.gif'); 
     var loadingText = $('<span id="loader">Loading...</span>').prepend(spinner); 
     $(loadingText).appendTo('#messages'); 

[... other jquery code here ...] 

完成其他功能後,下面的刪除加載圖片和文字:

 $(loadingText).remove(); 

,每當你點擊瀏覽器中的「刷新」,出現的問題是加載文本再次,因爲它應該,但圖像不顯示。只有在關閉標籤或窗口並重新打開頁面後,圖像才能正確顯示加載文本。我難過,有什麼想法? (提前致謝)

回答

1

似乎在Chrome,Firefox和Opera中適用於我(在Mac上很抱歉,沒有IE)。你有多個瀏覽器試過嗎?

我只是做:

<html> 
<body> 
    <div id="messages"> 

    </div> 
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script> 
    <script type="text/javascript"> 
    jQuery(document).ready(function($) { 
     // use some random spinner from the internet 
     var spinner = $('<img />').attr('src', 'http://www.enilivewec.com/img/ajax-loading.gif'); 
     var loadingText = $('<span id="loader">Loading...</span>').prepend(spinner); 

     // add to #messages div block 
     $(loadingText).appendTo('#messages'); 

     // do some animations to delay it a bit then remove it 
     $('#messages').slideUp(500).slideDown(1000).fadeOut(500).fadeIn(1000, function() { 
      $(loadingText).remove(); 
     }); 

    }) 
    </script> 
</body> 


編輯:的OP說,using window load糾正了問題,因爲它一直等待,直到所有的圖像加載後,然後開始jQuery代碼。

+0

我試了幾個不同的瀏覽器...沒有運氣。 – musashiXXX 2011-02-04 20:12:00