动态生成HTML时,Gif动画停止

时间:2014-05-13 19:51:09

标签: jquery html animation animated-gif

我看到很多关于.gif动画的讨论在AJAX调用期间不再是动画,这是AJAX异步性质的结果。我认为我的问题有所不同:我在点击动态生成HTML,并希望以模态方式播放标准秒表动画,直到创建HTML。显示和隐藏动画很容易 - 一旦我点击某些内容,我就会添加将显示动画的类:

$("#something").click(function(){ $("body").addClass("loading"); htmlCreate(); // the function dynamically generating the HTML });

在动态HTML生成结束时反转过程:

$("body").removeClass("loading");

图像肯定会显示,但从不动画。我在这里读了一篇帖子,建议图像必须在它可以动画之前完全加载,所以我尝试了类似的东西:

$body.addClass("loading"); setTimeout(function() { htmlCreate(); }, 2000);

这肯定给了我两秒的动画,一旦setTimeout超时并且调用htmlCreate()函数就会停止。动态构建HTML的过程绝对是一个过程怪物 - 在htmlCreate()正在运行时,Chrome显示超过90%的CPU使用率,因此我很容易看到它压倒浏览器并阻止它从完全显示.gif中的所有动画帧。但如果有人可以推荐一个解决方案,我将非常感激。感谢您的关注和帮助。

1 个答案:

答案 0 :(得分:0)

我有同样的问题,我可能(我忘了)修复了重新加载img的src标签

$(".myimg").attr("src", $(".myimg").attr("src"));