3

動畫至於我可以告訴,隻影響IE 8GIF動畫不再jQuery的.show()

使用下面的代碼中,GIF顯示,但沒有設置動畫(停留在一個位置):

$("#<%=assessmentListLinkClientID() %>").click(function(){ 
     $("#assessmentListLoaderImg").show(); 
    }); 

我也用.css('display', 'block')得到了同樣的結果。

是否有用於顯示動態GIF生成可靠的跨瀏覽器的結果的接受的方法(可能比這更好)?

+0

難道動畫關閉在那個特定的瀏覽器? – 2011-03-28 15:34:50

+0

我沒有改變任何默認設置,所以我不知道會發生什麼,我不知道這樣的設置存在? – 2011-03-28 15:36:11

回答

6

看來這是解決這個問題的方式:

<div id='myHiddeDiv' style='display:none'> 
<img src='' id='myAnimatedImage'> 
</div> 
<input type='button' value='show image' onclick='showDiv();'> 

<script languag='javascript'> 
function showDiv() 
{ 
document.getElementById('myHiddeDiv').style.display =""; 
document.getElementById('myAnimatedImage').src = "http://www.nowhere.com/animatedGif.gif"; 
} 
</script> 

你需要重新設置的src圖像標籤,這迫使IE再次渲染,因此顯示動畫。

+1

'var oImg = $(「#assessmentListLoaderImg」); oImg.show(); oImg.attr(「src」,oImg.attr(「src」));'? – 2011-03-29 09:19:55

+0

謝謝,它解決了我的問題 – bekur 2011-05-27 16:29:04

+0

在最新的Firefox中沒有爲我工作。任何人都有幸運? – 2012-08-29 19:43:38

0

我前一陣子有這個問題,雖然我沒有解決它,我的確在jQuery UI的現貨東西最近,我會進一步調查。似乎是在jQuery UI的引擎作爲隱藏關屏,我在想,如果有可能得到解決的IE無法正常渲染動畫GIF的問題,因爲他們在渲染時是不可見的東西設置的設置。我的理論是,如果它是可見的但「屏幕外」,那麼IE可能會渲染爲動畫,但它對用戶是不可見的。

鏈接是在這裏:

http://jqueryui.com/docs/Theming/API

而且它的佈局助手在這裏,我在想:

的.ui輔助隱藏可訪問:適用訪問躲在元素(通過ABS定位到頁面)

我不能爲此擔保作爲一個答案,但它是我的解決方案的名單上試試自己,當我有機會。

如果你試試這個,有任何與它的成功讓我知道:)