Передать переменную в функцию в JQuery AJAX обратного вызова успеха
Я пытаюсь предварительно загрузить некоторые изображения с помощью вызова jQuery AJAX, но у меня возникают реальные проблемы с передачей строки (url) в функцию в функции успеха вызова AJAX (если это имеет смысл).
Вот мой код как есть:
//preloader for images on gallery pages
window.onload = function() {
setTimeout(function() {
var urls = ["./img/party/"]; //just one to get started
for ( var i = 0; i < urls.length; i++ ) {
$.ajax({
url: urls[i],
success: function(data,url) {
$(data).find("a:contains(.jpg)").each(function(url) {
new Image().src = url + $(this).attr("href");
});
}
});
};
}, 1000);
};
Можно увидеть мою (неудачную) попытку передать URL через.each()
вызов -url
в конечном итоге принимает значение увеличения целых чисел. Не уверен, почему или с чем это связано, может быть, количество файлов JPG?
... в любом случае, он должен принимать одно значение в моем исходном массиве URL.
Спасибо за любую помощь - мне всегда кажется, что с этими обратными вызовами у меня немного искажается.
Прогрессбар?
Итак, я немного покопался, учтя комментарии @ron tornambe и @PiSquared и сейчас нахожусь здесь:
//preloader for images on gallery pages
window.onload = function() {
var urls = ["./img/party/","./img/wedding/","./img/wedding/tree/"];
setTimeout(function() {
for ( var i = 0; i < urls.length; i++ ) {
$.ajax({
url: urls[i],
success: function(data) {
image_link(data,i);
function image_link(data, i) {
$(data).find("a:contains(.jpg)").each(function(){
console.log(i);
new Image().src = urls[i] + $(this).attr("href");
});
}
}
});
};
}, 1000);
};
Я пытался положитьimage_link(data, i)
здесь и везде (в каждой вложенной функции и т. д.), но я получаю один и тот же результат: значение дляi
только когда-либо зарегистрирован как 3. Я подозреваю, что это потому, что все ссылки наi
указывают на то же самое, и к тому времени асинхронная задача фактически достигаетimage_link(data, i)
for...
цикл завершен и завершен (и, следовательно, имеет значение 3). Излишне говорить, что это даетurls[i]
как «неопределенный».
Любые (более) советы, как я могу обойти это?