我有一個問題,根據其他帖子,我讀了不應該是一個問題。jQuery FadeIn元素一個接一個ajax
我想要做的是通過ajax抓取內容,遍歷內容並將其附加到dom。一旦元素被追加,淡入,然後重複。發生的問題是,所有元素似乎都會一下子淡出,而不是一個接一個地淡出。我嘗試過多種不同的方法。這是最接近我想要的,但淡入淡出,很好不轉換,它只是出現。任何幫助是極大的讚賞。
HTML
<ul id="search_results"></ul>
JS
function doSearch(jsonPath){
$(function() {
$.ajax({ url: jsonPath , dataType: 'json',
async: false,
success: function(data) {
$.each(data, function(key, val) {
if(data[key].name != "NA"){
setTimeout(function(){
var html = ('<li class="searchResult" id="pic_' + key +'"><div class="searchProfileResult">' +
'<div class="userimage"><img title= "' + data[key].title+'"src="' + data[key].picture +'" /></div></div></li>');
$(html).appendTo($('#search_results')).hide().fadeIn(2000);
}, (key*500));
}
});
}
});
});
}
doSearch(jsonPath);
我也試過
$.each(data, function(key, val) {
if(data[key].name != "NA"){
$('<li class="searchResult" id="pic_' + key +'"><div class="searchProfileResult">' +
'<div class="userimage"><img title= "' + data[key].title+'"src="' + data[key].picture +'" /></div></div></li>').appendTo($('#search_results')).hide().delay(key*500).fadeIn(2000);
}
});
我難倒所以任何幫助將不勝感激。 I
你將如何設置它的每個循環中? –
我想你應該知道怎麼做:)如何設置一個遞歸動畫函數,並使用'each'構建'index,element'參數,但這是很多代碼。現在不能讓它變得太簡單了嗎? –
我更願意使用承諾會是一種更好的方式,但我需要更多地考慮如何實現它關於OP的代碼 –