我想预先加载一些图像。这里是我试图适应我的需求的代码。使用Javascript预载图像
function preLoadImages(callback) {
var count = 0;
var loadNext = function() {
var pic = new Image();
pic.onload = function() {
$scope.imagesToLoad[count].image = pic;
count++;
if (count >= $scope.imagesToLoad.length) {
callback();
} else {
loadNext();
}
}
pic.src = '<img src=\'assets' + $scope.imagesToLoad[count].Name1 + "_" +
$scope.imagesToLoad[count].Name2 + "_" + $scope.imagesToLoad[count].Name3 + '.png\'/>';
}
loadNext();
};
我的期望是,当pic.src
设置,我将进入的onload功能,继续加载我的图片。但我没有进入onload。所以,我的问题是,当我们设置src我们实际上是否触发图像加载?
感谢
为什么你的src像'' fuyushimoya
请参阅@ fuyushimoya的评论。当图像被浏览器完全加载时,不会在加载时发出onload事件。 – marekful
你想在所有图像加载完成时执行回调吗? – Syd