带动画的GIF图片在IE中不能正常工作

IE和FirFox在很多地方都有着或多或少的不同,这导致在开发时需要考虑很多的特殊情况。在最近的项目中居然发现带动画的GIF图片在页面Load之后再以脚本控制的方式展现时,动画不能表现出来。在我的项目中,需要在点击一个按钮后来显示一个动态的Loading图片以此表示程序正在进行后台处理。这是通过一段jQuery代码来实现的:

var loadingDialog = $('<div id="dialog" title="" width="100%"><p class="center" id="imgSection"><img id='loadingImg' src='~/Image/header_logginginAction.gif'></p><br/><p class="center">正在提交数据...</p></div>');
function bsl_showLoadingDialog(title) { //此处是一个遮罩效果
loadingDialog.dialog({
modal: true,
title: title,
width: 400,
height: 300,
closeOnEscape: false,
resizable: false
});
loadingDialog.parent().find('.ui-dialog-titlebar-close').hide();
}

IE显示了图片,但是动画却不能播放。而在FirFox中却能正常的工作。当你将整个DIV加入到DOM中时,这个DIV是隐藏的,不可见的。但是当你将其属性设置为可见时,动画却不能被正常播放。如果将带动画的GIF图片直接以可见的形式加入到DOM中,它是可以正确的现实并播放动画的。那么,可以这样更改代码:

var loadingDialog = $('<div id="dialog" title="" width="100%"><p class="center" id="imgSection"></p><br/><p class="center">正在提交数据...</p></div>');
function bsl_showLoadingDialog(title) { //此处是一个遮罩效果
loadingDialog.dialog({
modal: true,
title: title,
width: 400,
height: 300,
closeOnEscape: false,
resizable: false
});
loadingDialog.parent().find('.ui-dialog-titlebar-close').hide();
var imgSrc = '<%=ResolveUrl("~/Image/header_logginginAction.gif") %>';
$("#imgSection").append("<img id='loadingImg' src='" + imgSrc + "'/>");
}

若页面刷新则页面重新render,遮罩层也不用再处理,若页面采用无刷新ajax,需要在接受到服务器端返回信息后操作遮罩层:

$("#loadingImg").remove(); 如果不删除,再次提交时会有2个图片
loadingDialog.dialog("close");

 

转载于:https://www.cnblogs.com/MadMing/archive/2013/04/24/3040694.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值