Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 在IE中提交动画问题_Jquery_Asp.net_Internet Explorer_Animated Gif - Fatal编程技术网

Jquery 在IE中提交动画问题

Jquery 在IE中提交动画问题,jquery,asp.net,internet-explorer,animated-gif,Jquery,Asp.net,Internet Explorer,Animated Gif,我以前一直在处理这个问题,但问题似乎又回来了。让我解释一下 我有一个网页,允许用户上传一个大文件,之后ASP.NET服务器端脚本可能需要几秒钟的时间来处理它。与此同时,我想在web浏览器中显示加载程序/微调器动画,以防止用户再次单击提交按钮 我使用了以下JQuery代码: $('#ButtonImportData').click(function () { $('.importSubmitSpinner').css('display', 'inline'); } 以下是微调器图像的HT

我以前一直在处理这个问题,但问题似乎又回来了。让我解释一下

我有一个网页,允许用户上传一个大文件,之后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" />
spinner_big.gif是一个简单的gif文件,带有一个动画,用于向用户发出页面正在加载的信号

上述方法几乎适用于所有浏览器,除了。。。猜猜是哪一个?是的!IE中发生的情况是,用户单击ButtonImportData按钮后,会显示微调器,但动画会立即停止,基本上会给用户一个错误的指示,即页面挂起,提示他们再次单击submit,这与我想做的相反

我很久以前就停止使用IE了,但很明显,大约有一半的互联网社区仍然在使用它。伙计,人们怎么能用那块*&^%?无论如何,这不是一个问题:)问题是,如何使这个简单的任务在IE中工作,并使我的动画实际播放

另外,我一直在用IE9或Windows7当前的“网络之美”进行测试

编辑:

多亏了ShadowScripter,我找到了解决办法。以下是对我有效的方法:

1将以下内容添加到HTML中,以确定我们是否在IE上运行(因为我们不需要对任何其他web浏览器进行此“黑客攻击”):


我似乎无法在任何IE版本中复制您的问题

我试过了

可能有很多不同的原因导致你的不起作用

  • 其他代码可能会干扰
  • GIF图像有问题
  • 客户端计算机;工作量
哦,还有,

您可以使用
.show()
而不必执行
.css(“显示”、“内联”)
操作。

如果未指定任何显示模式,JQuery可以确定元素应具有的默认显示模式。

试试这个,效果很好

setTimeout(function() {
     ('.out').css("display","none");    
     $('#load').show();         
     return true;
}, 100);

延迟100毫秒,实际显示加载器图像

你说的是哪个版本的IE?你试过jQuery BlockUI插件吗。它似乎与浏览器兼容。。。这完全让我困惑。这里可能是什么情况?在这个简单的例子中,它工作得很好。我从我的脚本运行相同的脚本、相同的图像等,它不会旋转!在我的例子中,这个页面是由一个ASP.NET脚本组成的,如果打开它以HTML的形式查看,它会添加大量的东西/垃圾。。。妈的,小姐!无论如何,问题不在于你提供了什么。除非你想让我调试你的整个网站,否则我帮不了你多少忙,而且我也不准备这么做;)我更新了它在我的代码中是如何工作的:但为什么不在我的页面中呢???这简直让我发疯,在这上面浪费时间*&^%!!!!看一看,可能是你浏览器的安全设置,或者如果你在一个页面上有很多东西,它可能会被DOM读取卡住。运行您的页面以检查是否有任何错误。这就是@ShadowScripter上面的链接所做的(检查注释)。顺便说一句,仍然不能在IE10中工作,或者不管它现在是什么…这个特定的解决方案帮助了我的非asp相关问题。谢谢
<![if !IE]>
<script type='text/javascript'>
var bNotIE = 1;
</script>
<![endif]>
<img src="Graphics/spinner_big.gif" width="28" height="28" class="importSubmitSpinner" alt="Spinner" id="imgSpinnerImport" />
$('#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);
    }
}
setTimeout(function() {
     ('.out').css("display","none");    
     $('#load').show();         
     return true;
}, 100);