我正在努力让动画gif在IE中运行。在所有其他浏览器中都可以使用,但是IE只是冻结。我已经研究了这一点,看起来使用SettieMout可能会延迟。不太确定如何将其添加到以下功能:
<script type="text/javascript">
$(function(){
$('#photo_form').on("submit", function () {
$('#loading').show();
});
});
</script>
GIF在一个名为"加载"的Div内部,该DIV被隐藏。我可以将超时添加到按钮或功能本身中的范围内吗?
为什么IE使事情变得如此困难!?
解决此问题的任何帮助都将非常有帮助。
您的意思是这样的?
$(function() {
$('#photo_form').on("submit", function () {
setTimeout(function () {
$('#loading').show();
}, 100);
});
});
尝试此curde,未经测试的psedo代码:
var startTime;
var thread;
$(function(){
$('#photo_form').on("submit", function () {
$('#loading').show();
startTime = time();
thread = setInterval("showLoadingGif", 1);
});
function showLoadingGif() {
var timeToWait = 5; //change interval as needed
if(timeToWait + startTime <= currentTime) {
//show the gif
clearInterval(thread);
}
}
自从我使用JavaScript以来已经很长时间了,所以几乎可以肯定需要调整。但是原理是相同的:继续调用该功能,让该功能决定何时停止调用。
settimeout()在等待时会导致您的页面冻结。setInterval将异型运行您的代码。