如何延迟致电JS函数 - 动画GIF不起作用



我正在努力让动画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将异型运行您的代码。

最新更新