В предыдущем посте о команде рекурсивной загрузки jQuery предложенный код работает, но имеет некоторые ограничения. Вот код, который был предложен и ссылка :
function loadTree($element) {
$element.each(function(){
this.load('url', function(){
loadTree(this.find('.children'));
});
});
}
loadTree($('#content'));
Проблема с приведенным выше кодом заключается в том, что если загрузка не удалась, рекурсивный цикл завершается. В моем случае я загружаю изображения одно за другим и получаю URL-адреса изображений из базы данных с помощью вызова AJAX. Если по какой-то причине URL-адрес изображения неверен, рекурсия прекратится, и я не хочу, чтобы это происходило. Остальные изображения должны быть загружены независимо от того, что, потому что если у меня есть сто путей к изображениям, где все они действительны, кроме первого, то все 100 не будут отображаться.
У меня также есть другая связанная проблема. По сути, я извлекал 7 URL-адресов изображений через ajax, затем я формировал 7 html-тегов изображений в строке и затем вызывал событие загрузки с этой строкой только один раз: все это в попытке уменьшить количество запросов браузера. Поэтому я хочу, чтобы обратный вызов события загрузки активировался после загрузки всех 7 изображений. Однако, когда я пытаюсь это сделать, обратный вызов события загрузки срабатывает для каждого изображения. Любые идеи о том, как вызвать обратный вызов, когда все элементы были загружены (будь то успешная загрузка или нет; попытка загрузки).
Спасибо