JQuery каждый обратный вызов
Как использовать обратные вызовы в jQuery для каждой функции?
Я пытаюсь что-то вроде:
$.each(images, function(key, value) {
new_images+= '<li><a href="'+value+'"><img src="'+value+'" alt="'+[key]+'" /></a></li>';
}, function (){
$('#Gallery').remove();
$('body').append('<ul class="gallery">'+new_images+'</ul>');
});
Ответы
Ответ 1
Что не так с этим кодом? Вам не нужен обратный вызов для $.each
.
$.each(images, function(key, value) {
new_images+= '<li><a href="'+value+'"><img src="'+value+'" alt="'+[key]+'" /></a></li>';
});
$('#Gallery').remove();
$('body').append('<ul class="gallery">'+new_images+'</ul>');
Ответ 2
$.each();
- синхронная функция. Это означает, что вам не нужна функция обратного вызова внутри, потому что любой код, который вы пишете после $.each();
, будет запущен с завершением $.each();
.
Ответ 3
Вы имеете в виду это?
$.each(images, function(key, value) {
new_images+= '<li><a href="'+value+'"><img src="'+value+'" alt="'+[key]+'" /></a></li>';
});
function myMethod(){
$('#Gallery').remove();
$('body').append('<ul class="gallery">'+new_images+'</ul>');
};
myMethod();
Ответ 4
Не уверен в обратном вызове, который вы имели в виду. Я думаю, это то, что вы ищете
$('#Gallery').remove();
var selectItems='<ul class="gallery">';
$.each(images, function(key, value) {
selectItems+= '<li><a href="'+value+'">
<img src="'+value+'" alt="'+[key]+'" /></a></li>';
});
selectItems+= '</ul>';
$('body').append(selectItems);
Ответ 5
Теперь у меня есть решение для .each-callback!
Мне пришлось выполнить ajax-запрос для каждого элемента массива. Поэтому я создал div-контейнер со всеми элементами div для каждого элемента. Каждый раз, когда нагрузка была сделана, элемент div был изменен на зеленый и .slideUp, после .remove.
И каждый раз я спрашивал, пустой ли контейнер-контейнер. Если да, я знаю, все элементы полностью загружаются (потому что удалены).
Вот часть моего кода:
<script>
$(document).ready( function() {
$.each(myChannels, function(index, value) {
$("#tag_"+value).load('getxmls/ajaxrenewchannel/channel:'+value, function() {
$("#tag_"+value).removeClass('alert-info').addClass('alert-success');
$("#tag_"+value).slideUp('600', function () {
$("#tag_"+value).remove();
if( $('#loadcontainer').is(':empty') ) {
window.location = 'feeds/';
}
});
});
});
});
</script>
Надеюсь, это поможет кому-то там...