2011-09-16 71 views
2

我有一個6kb的動畫gif加載微調。當我在瀏覽器窗口中打開它時,它旋轉正常。但是當它打開我的網頁上的ajax調用時,它就卡住了。它看起來按時和消失,但不會旋轉。加載微調gif圖像卡住

任何想法?

這裏是jQuery代碼:

 $('#please-wait') 
     .css("visibility", "visible")//.hide() 
     .ajaxStart(function() { 
      $(this).css("visibility", "visible"); 
     }) 
     .ajaxStop(function() { 
      $(this).css("visibility", "hidden"); 
     }); 

 $('#please-wait') 
     .show() 
     .ajaxStart(function() { 
      $(this).show();    
     }) 
     .ajaxStop(function() { 
      $(this).hide(); 
     }); 

什麼想法?

+1

你在試用什麼瀏覽器? 3年前,我有一個類似的問題,它是在IE6或IE7,沒有動畫的GIF附加jQuery的。 – voigtan

+0

最新版本的Firefox。在ie和chrome上測試的性能要好得多,我不會遇到任何問題,甚至不會看到annimated gif。 – Barka

+0

我認爲這是一個螢火蟲問題。我禁用了螢火蟲,而且我的表演速度如此之快以至於gif甚至沒有顯示給人眼。 – Barka

回答

7

這是一個jsfiddle example它應該如何或可以做到。

這裏有一個片斷

$('#start_loading').click(function(){ 
 
    $('#display').html('<img src="http://thinkfuture.com/wp-content/uploads/2013/10/loading_spinner.gif" />'); 
 
    setTimeout(function(){ 
 
     $('#display').html($('#content').html()); 
 
    }, 1000); 
 
}); 
 

 
$('#reset').click(function(){ 
 
    $('#display').html(''); 
 
});
body{ 
 
    background-color: white; 
 
} 
 

 
#content{ 
 
    display:none; 
 
} 
 

 
#display{ 
 
    margin-top: 10px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="http://code.jquery.com/jquery-1.6.3.min.js" type="text/javascript"></script> 
 
<button id='start_loading'>Load text</button> 
 
<button id='reset'>Reset</button> 
 

 
<div id='display'> 
 
</div> 
 

 
<div id='content'> 
 
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin risus ipsum, hendrerit vitae facilisis sit amet, viverra sit amet elit. Nullam interdum sodales tortor quis suscipit. Donec facilisis condimentum sodales. Nunc imperdiet vehicula aliquam. Etiam non ligula enim, non euismod dui. Aliquam in fermentum neque. Praesent auctor lectus eu magna gravida convallis. Donec semper hendrerit porta. In feugiat tellus a purus vulputate adipiscing. Aenean et risus nec nisl auctor scelerisque. Duis eleifend nunc ut odio consectetur scelerisque.</p><br/> 
 

 
    <p>Aliquam in scelerisque erat. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Aenean dignissim orci at quam placerat a placerat sem porta. Nulla facilisi. Ut ligula lorem, faucibus sit amet eleifend id, fringilla ut orci. Aliquam viverra, enim a auctor tincidunt, neque dui sollicitudin enim, eget feugiat odio lacus cursus lacus. Nunc risus urna, elementum eu vehicula in, fringilla et ante. Aenean iaculis volutpat purus, vitae faucibus justo auctor at. Integer non fringilla nibh.</p><br/> 
 

 
<p>Quisque elementum, sapien in viverra mollis, magna nisl blandit tortor, ut tincidunt risus nulla id nunc. Fusce rutrum elementum mauris, id aliquam magna varius sed. Ut vestibulum elementum sapien et sagittis. Vestibulum vitae sem arcu. Nulla lacus dui, lacinia vitae dapibus ac, tincidunt vel lectus. In hac habitasse platea dictumst. Curabitur interdum ullamcorper odio, ullamcorper mollis ligula auctor eget. Donec aliquet arcu sed est dignissim pharetra. Praesent sit amet dui venenatis nisl ullamcorper convallis. Morbi rutrum neque id dui venenatis et bibendum felis placerat. </p> 
 
</div>

如果你正在做的JQuery右側部分則賠率是你的.gif注意:沒有一個重複週期,這意味着它只能一次動畫。由於您只隱藏它而不是添加/刪除,因此不會重置動畫。

+0

謝謝!通過添加和刪除實際圖像,它現在工作正常! – Barka

+0

@ShadowScripter你拯救了我的一天! –

+0

抱歉,這對我無效,Chrome版本59.0.3071.115。我已經嘗試在頁腳的隱藏div中加載圖像,以確保圖像已預加載。 – Jason