src
我想知道为什么通过图像标签或 css更改现有元素的图像background-image
只有在大多数移动浏览器上延迟很大之后才能完成。(Android Chrome、iOS Chrome、iOS Safari,...)
我基本上有一个图像标签或一个 div,我想立即更改图像:
// preload images
for(var i = 1; i < 21; i++){
var img = new Image();
img.src = "covers/" + i + ".jpg";
}
var cover = $("#cover");
$("#flow").on("touchstart", function(){
p++;
cover.src = "covers/" + p + ".jpg";
// cover.style['background-image'] = "url('covers/" + p + ".jpg')";
});
这两种方法都适用于桌面浏览器和原生 Android 浏览器。我在这里创建了一个示例(您需要点击更改图像标签的 src - 您可以在 Chrome 浏览器中通过Emulate touch events
在 Web Inspector 中选择来更改)。在 iOS 6 和 7 中,Safari 和 Chrome 都不会立即发生更改,而是会出现明显延迟。Android Chrome 也一样。
所有图像都是预加载的(Safari Web Inspector Remote Debugging 也这么说)。当图像通过带有display: none;
.
你能想象为什么吗?