3

据我所知,这只影响 IE 8。

使用以下代码,gif 出现但没有动画(卡在一个位置):

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

我也用过.css('display', 'block')同样的结果。

是否有一种公认的方式(可能比这更好)可以产生可靠的跨浏览器结果来显示动画 gif?

4

2 回答 2

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 再次呈现它并因此显示它的动画。

于 2011-03-29T09:15:36.707 回答
0

不久前我遇到了这个问题,虽然我没有解决它,但我最近确实在 jquery UI 中发现了一些我要进一步调查的东西。jQuery UI 引擎中似乎有一个设置,用于将事物设置为隐藏的屏幕外,我想知道这是否可以解决 IE 无法正确渲染动画 gif 的问题,因为它们在渲染时不可见。我的理论是,如果它是可见的但“在屏幕外”,那么 IE 可能会将其渲染为动画但它对用户是不可见的。

链接在这里:

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

这是我正在考虑的布局助手:

.ui-helper-hidden-accessible:对元素应用可访问隐藏(通过页面外的 abs 定位)

我不能保证这是一个答案,但它在我的解决方案列表中,当我有机会尝试自己时。

如果您尝试此操作并取得任何成功,请告诉我:)

于 2011-03-28T14:54:28.520 回答