У меня $.each()
l oop при jQuery AJAX звонке. Для каждого элемента в моих ответных данных я хочу добавить в класс индекса в моем индексе сегмент HTML. html file.
Вы можете посмотреть код ниже как codepen здесь , так как мобильное форматирование является плохим и, вероятно, оно вставлено неправильно
$.each(responseData, function(i, item) {
/*
if(i > 4){
$($("section").last()).remove();
}
*/
try{
username = item.user.name;
user_text = item.text;
imgURL = item.user.profile_image_url;
hashtags = item.entities.hashtags;
let hashtagsDiv = ""
if(hashtags.length > 0){
hashtagsDiv = "<div class='row'><div class='col s10 offset-s2'>HASHTAGS: "
for(i = 0; i < hashtags.length; i++){
hashtagsDiv += "#"+hashtags[i].text+"; ";
}
hashtagsDiv += "</div></div>"
}
$("<div class ='row'>\
<div class ='col s12'>\
<section class='card-panel grey lighten-5 z-depth-1'>\
<div class='row valign-wrapper'>\
<div class='col s2'>\
<img src=\"" + imgURL + "\" alt='profile_pic' class='circle responsive-img'>\
</div>\
<div class='col s10'>\
<span class='black-text'> @" + username + " says: " + user_text + "</span>\
</div>\
</div>\
" + hashtagsDiv + "\
</section>\
</div>\
</div>").prependTo(".container").slideDown();
$(function(){
window.setTimeout(5000);
});
}
catch(err){
console.log("ERROR: " + err.message);
}
});
.container
в prependTo()
- это класс из тега <section>
в моем файле HTML , prependTo()
прекрасно работает, и когда я перезагружаю свою веб-страницу, я вижу последний элемент вверху страницы. В основном ожидаемое поведение таково, что это действует как очередь, поэтому первый элемент идет вниз, второй укладывается поверх него и т. Д. c и c, пока я не достигну конца запрошенного JSON, и последний элемент находится сверху.
В настоящее время у меня есть две проблемы:
setTimeout()
не работает. Все элементы входят сразу, и я не могу понять, как поставить задержку на каждую итерацию. Это должно работать вместе с моим slideDown()
вызовом. Каждые несколько секунд сдвигайте следующий элемент.
После счетчика i > 4
я хочу удалять последний элемент из DOM на каждой итерации. Это будет держать не более 5 элементов на экране, и каждый цикл, который мы выбрасываем, последний или самый старый, один из нижней части очереди. Я не могу понять эту часть либо. Если бы я раскомментировал блок if
в верхней части $.each()
l oop, на экране ничего не появилось бы.
Если бы кто-то мог решить эти две проблемы, это быть великим Спасибо!