Я не хочу предварительно загружать изображения в одно и то же время, я хочу загрузить их один за другим. До сих пор я сделал это так:Цепочки функций обратного вызова через петлю в Javascript
for (var i = current; i < current + 5; i++) {
images[i].load();
}
Так что я начал думать, как использовать функции обратного вызова, чтобы загрузить их последовательно: я могу передать функцию обратного вызова для load(callback)
, который будет называться после того, как был загружен один образ. Так что я могу также просто сделать это нравится, и они будут загружены после друг друга:
images[current].load(function(){
images[current + 1].load(function(){
images[current + 2].load(function(){
images[current + 3].load(function(){
images[current + 4].load();
});
});
});
});
Это работает, но я хотел бы, чтобы превратить его в петлю. Я не могу крутить голову таким образом, чтобы достичь этого. Вы можете помочь?
Я могу только привести пример моего load(callback)
метода, потому что это слишком долго:
load = function(callback){
// do preloading things and simulate load event:
setTimeout(function(){
callback.apply(this);
}, 1000);
}
Вот скрипку, чтобы проверить: http://jsfiddle.net/ajuc7g1q/1/
Сообщение '.load' реализации. – dfsq
Пожалуйста, загрузите реализацию здесь, как сказано выше. –
Я отправил пример моей функции загрузки и скрипку, чтобы проверить ее! – YMMD