我看到很多关于.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中的所有动画帧。但如果有人可以推荐一个解决方案,我将非常感激。感谢您的关注和帮助。
答案 0 :(得分:0)
我有同样的问题,我可能(我忘了)修复了重新加载img的src标签
$(".myimg").attr("src", $(".myimg").attr("src"));