插入DOM时IE冻结GIF动画
IE freezes GIF animation when DOM insert
我的代码有一个动画GIF(加载图像)
我从Ajax调用中获得变量"data"中的html页面。
$("#content").html(data); // takes about 5 seconds and the GIF animation freezes since IE is single threaded.
是否有一种方法可以使用setTimeout/setInterval函数逐行写入数据,以便短暂释放线程,以便动画继续
Fiddle URL:http://jsfiddle.net/deepakssn/Kp2bM/
我尝试过的替代解决方案:
<style>
#loading {
background: url(loading.gif) no-repeat center center #fff;
display: block;
position: fixed;
height: 500px;
width: 500px;
}
</style>
<script src="../scripts/jquery.js"></script>
<script>
$(window).load(function () {
function writeData(data) {
var yourLines = data.split("'n");
for (var i = 0, j = yourLines.length; i < j; i++) {
var x = setTimeout(function() {
$("#content").append(yourLines[i]);
console.log("Line No :"+[i]+" "+Date.now());
}, 5000);
}
}
function ajaxLoad() {
$.ajax({
url: "test.txt"
}).done(function (data) {
console.log("success"+Date.now());
writeData(data);
//$("#content").html(data);
console.log("loaded data"+Date.now());
});
}
ajaxLoad();
});
</script>
<div id="loading"></div>
<div id="content"></div>
我在为我的一个项目添加"加载"指示符时遇到了这个问题。我用这个解决了我的问题。因为它不是图像,所以它不会冻结。
相关文章:
- 带有帧控制的画布GIF动画
- 单击时重播 GIF 动画/重新加载 GIF
- 在不重新加载文件的情况下重新启动 gif 动画
- 仅限 Firefox/IE - 元素 show() jquery 后冻结的 gif 动画
- 确定 GIF 动画状态
- mac safari中的Gif动画冻结
- 在网页上设置GIF动画-任何重新启动它们的方法
- 插入DOM时IE冻结GIF动画
- 如何在gif动画完成后激活页面滚动
- 用自定义间隔将Three.Js场景渲染为GIF动画文件
- 如何在Flash加载之前加载gif动画
- 在所有主流浏览器中,GIF动画和javascript在同一个线程上运行,这是真的吗?
- 在Firefox中显示页面请求后的gif动画
- 如何保持gif动画在网站上播放在指定的部分/锚
- 用JS控制GIF动画.播放,停止,倒放
- 在Node.js中使用GM生成GIF动画
- 在显示GIF动画后显示消息
- 我怎样才能制作一个“;循环一次”;在每次刷新/加载页面时播放GIF动画背景
- 如何使用javascript停止gif动画以防止高内存和cpu消耗
- Facebook JavaScript sdk 共享 gif 动画对话框轻拂