循环期间GIF动画停止

时间:2017-05-27 11:10:24

标签: javascript loops gif

我在JavaScript中有一个函数需要很长时间才能执行计算。我还有一个GIF,我在开始计算之前会显示它,就像一个进度条。

我面临的问题是即使我将GIF设置为show(),它也不会在循环结束之前显示。

以下是完整的代码:

  $(document).ready(function () {
        $('#progress').show();

        while(true){
            
            //calculation
        } 
    })
 <div id="progress" style="display:none">
            <img alt="Loading .." src="UILayer/Images/ajax.gif" />
        </div>

GIF在循环完成后开始动画。

任何帮助都将受到高度赞赏。

由于

2 个答案:

答案 0 :(得分:0)

基本上,你的gif无法正常工作,因为正在运行的js代码会降低它的速度。

您可以尝试在while循环中添加一些警报来重现它。

以下是相关问题: How to keep animated gif running while doing intense calculations

答案 1 :(得分:0)

我遇到了同样的问题。我发现setTimeout工作得相当好:

    window.setTimeout(function () {
        //here I call the function or run the loop that
        //that uses a lot of processing power.
    }, 100);

它并不完美。进度动画不会顺利运行,但至少会在较长的动作开始之前出现。