IE和FirFox在很多地方都有着或多或少的不同,这导致在开发时需要考虑很多的特殊情况。在最近的项目中居然发现带动画的GIF图片在页面Load之后再以脚本控制的方式展现时,动画不能表现出来。在我的项目中,需要在点击一个按钮后来显示一个动态的Loading图片以此表示程序正在进行后台处理。这是通过一段jQuery代码来实现的:
function showMessage() { ...... $("div#Processing").show(); ...... } <div id="Processing" style="display: none"> <center> <img src="placeOrder_processing.gif" /> </center> </div>
IE显示了图片,但是动画却不能播放。而在FirFox中却能正常的工作。当你将整个DIV加入到DOM中时,这个DIV是隐藏的,不可见的。但是当你将其属性设置为可见时,动画却不能被正常播放。如果将带动画的GIF图片直接以可见的形式加入到DOM中,它是可以正确的现实并播放动画的。那么,可以这样更改代码:
<script language="javascript" type="text/javascript"> function showMessage() { $("div#Processing").show(); var imgSrc = '<%=ResolveUrl("~/Images/Checkout/placeOrder_processing.gif") %>'; $("td#imgSection").append("<img src='" + imgSrc + "'/>"); } </script>
这样,在可见的内容中将Img加入到DOM中就可以解决这个问题了。