据我所知,这只影响 IE 8。
使用以下代码,gif 出现但没有动画(卡在一个位置):
$("#<%=assessmentListLinkClientID() %>").click(function(){
$("#assessmentListLoaderImg").show();
});
我也用过.css('display', 'block')
同样的结果。
是否有一种公认的方式(可能比这更好)可以产生可靠的跨浏览器结果来显示动画 gif?
据我所知,这只影响 IE 8。
使用以下代码,gif 出现但没有动画(卡在一个位置):
$("#<%=assessmentListLinkClientID() %>").click(function(){
$("#assessmentListLoaderImg").show();
});
我也用过.css('display', 'block')
同样的结果。
是否有一种公认的方式(可能比这更好)可以产生可靠的跨浏览器结果来显示动画 gif?
看来这是解决此问题的方法:
<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 再次呈现它并因此显示它的动画。
不久前我遇到了这个问题,虽然我没有解决它,但我最近确实在 jquery UI 中发现了一些我要进一步调查的东西。jQuery UI 引擎中似乎有一个设置,用于将事物设置为隐藏的屏幕外,我想知道这是否可以解决 IE 无法正确渲染动画 gif 的问题,因为它们在渲染时不可见。我的理论是,如果它是可见的但“在屏幕外”,那么 IE 可能会将其渲染为动画但它对用户是不可见的。
链接在这里:
http://jqueryui.com/docs/Theming/API
这是我正在考虑的布局助手:
.ui-helper-hidden-accessible:对元素应用可访问隐藏(通过页面外的 abs 定位)
我不能保证这是一个答案,但它在我的解决方案列表中,当我有机会尝试自己时。
如果您尝试此操作并取得任何成功,请告诉我:)