【发布时间】:2013-10-17 11:47:47
【问题描述】:
当我处理异步加载数据时,我总是会遇到一个大问题,例如带有 javascript 的图像。 过去,我放置了一个加载器来向用户显示正在进行的操作。 但是在加载数据时,图像将无法正确设置动画。它一直在逆向,但仅在 Firefox 浏览器中。
css3 动画也有同样的问题,例如旋转。
为什么会这样?
var imgUrl = 'http://photojournal.jpl.nasa.gov/jpeg/PIA13932.jpg';
var aImagesToLoad = [];
var iLoaded = 0;
var runs = 3;
$(document).on('click', 'a#init-load', function(event) {
event.preventDefault();
if (confirm('A big image is loaded three times now')) {
var i, j;
var self = $(this);
self.fadeOut(500);
$('img').addClass('show');
for ( i = 0; i < runs; i += 1) {
var ts = new Date().getTime();
aImagesToLoad.push(new Image());
aImagesToLoad[aImagesToLoad.length - 1].onload = function(load) {
iLoaded += 1;
if (iLoaded === runs - 1) {
$('img').removeClass('show');
self.fadeIn(500);
}
};
aImagesToLoad[aImagesToLoad.length - 1].src = imgUrl + '?uq=' + (ts + i);
}
}
});
使用 ajaxloader 图像(动画 gif)和 css 旋转动画制作了 jsfiddle。在哪里可以测试。
【问题讨论】:
-
最新版本的 FireFox 对我来说没问题。
-
@TigOldBitties 在新的 MacbookPro Retina 上使用最新的 Firefox,并与 Webkit 浏览器进行比较。
-
对我来说似乎是浏览器问题。
-
@TigOldBitties 这是一个没有任何插件的普通火狐
-
我在最新的 firefox 24 上没有看到这个问题.. 当我拿出你的 confirm() 时它也加载得很好.. jsfiddle.net/esAGA/11 -
标签: javascript jquery css firefox