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定位到页面)

我不能为此担保作为一个答案,但它是我的解决方案的名单上试试自己,当我有机会。

如果你试试这个,有任何与它的成功让我知道:)