我以前一直在处理这个问题,但似乎问题出现了。让我解释。在IE中提交动画问题
我有一个网页,可以让用户上传一个大文件,之后,ASP.NET服务器端脚本也可能需要几秒钟来处理它。与此同时,我想在Web浏览器中显示加载器/微调器动画,以防止用户再次点击提交按钮。
我用下面的jQuery代码:
$('#ButtonImportData').click(function() {
$('.importSubmitSpinner').css('display', 'inline');
}
这里是为微调图片的HTML:
<img src="Graphics/spinner_big.gif" width="28" height="28" class="importSubmitSpinner" alt="Spinner" />
和这里的CSS:
.importSubmitSpinner
{
margin: 0px 10px 0px 6px;
width: 28px;
height: 28px;
display: none;
}
spinner_big.gif是一个简单的带有动画的GIF文件用于指示用户正在加载页面。
上述方法适用于几乎所有的浏览器,除了...猜猜哪一个?是的,IE!在IE中发生的事情是,在用户点击ButtonImportData按钮后,显示了微调器,但动画立即停止,基本上给用户一个虚假的指示,表明一个页面被挂起,这提示他们再次单击提交 - 与我相反想做。
很久以前我停止使用IE,但显然还有大约一半的互联网社区仍在使用它。男人,人们如何使用这块* & ^%?无论如何,这不是一个问题:)问题是,如何使这个简单的任务在IE中工作,并使我的动画真正发挥?
PS。我一直在用IE 9或任何测试它是Windows 7
编辑当前的“网络之美”:
感谢,ShadowScripter,我找到了解决办法。下面是我工作:
1以下内容添加到HTML以确定我们是否在IE浏览器上运行(因为我们不需要做这个“黑客”对任何其他网络浏览器):
<![if !IE]>
<script type='text/javascript'>
var bNotIE = 1;
</script>
<![endif]>
2我们需要ID添加到img元素:
<img src="Graphics/spinner_big.gif" width="28" height="28" class="importSubmitSpinner" alt="Spinner" id="imgSpinnerImport" />
3然后以显示GIF动画:
$('#ButtonImportData').click(function() {
//For "normal" browsers
$('.importSubmitSpinner').show();
if (typeof (bNotIE) == 'undefined') {
//The following must be done only in case of IE
//NOTE: We need to load the same file but with a different name
// because if you don't change the file name it won't work!
setTimeout('document.images["imgSpinnerImport"].src = "Graphics/spinner_big_ie.gif"', 200);
}
}
你在说哪个版本的IE?你有没有试过jQuery BlockUI插件。它似乎是浏览器兼容... http://jquery.malsup.com/block/ – 2012-04-10 07:41:49
IE 9 ............ – ahmd0 2012-04-10 07:42:31