Ich habe eine Suchfunktion, die eine AJAX-Anfrage verwendet, um Daten von meinem Webserver zu erhalten.AJAX - Verzögerungszeit zwischen der Anzeige von AJAX-Ergebnissen
Ich möchte eine Fade-In-Animation, die auf jedes Suchergebnis angewendet wird, mit einer leichten Verzögerung, so dass das letzte Ergebnis zuletzt eingeblendet wird (dh das erste Ergebnis wird geladen, das Einblenden beginnt, das nächste lädt, beginnt etc.).
Ich habe den Code, der die HTML in den Suchergebnisbereich lädt, aber es scheint wie die Ergebnisse angezeigt werden und ihre "Fade-in-Animation" zur gleichen Zeit ausgeführt - obwohl dies auch aufgrund sein könnte die Tatsache, dass mein Computer zu langsam ist.
Hier ist mir Code:
JS
$.ajax({
type: 'GET',
url: '/PersonSearch',
data: {
'search_value': search
},
dataType: 'json',
})
.done(function(json) {
$('#main').html('');
$.each(json, function(key, value) {
var search = $('<div />', {
id: 'search' + key,
'class': 'search-item off',
html:
'<div class="basic-info">' +
'<span class="first-name">' + value.First_name + '</span>' +
'<span> </span>' +
'<span class="last-name">' + value.Last_name + '</span>' +
'</div>' +
'<div class="dropdown">' +
'<span class="phone-number">' + 'PHONE: ' + value.Phone_number + '</span>' +
'<span class="email">' + 'EMAIL: ' + value.Email_address + '</span>' +
'<div class="box edit"><img src="../media/gear.svg"/></div>' +
'</div>'
}).appendTo('#main');
setTimeout(function() {
search.removeClass('off');
});
});
});
CSS
.search-item.off{
opacity: 0;
top: 8px;
}
.search-item{
overflow: hidden;
position: relative;
opacity: 1px;
top: 0;
transition: .75s;
}
HTML
<div id="main">
</div>
Im Grunde, was der Code tut (so Sie es nicht brauchen, um sie zusammenzusetzen) ist es das Suchergebnis addiert, die die Klasse von search-item off
hat, und sobald die <div>
geladen wird (unter Verwendung von setTimeout()
) es entfernt die off
Klasse, welches dann das CSS-Attribut transition
verwendet, damit es im Laufe der Zeit eingeblendet wird.
Ich versuchte mit setTimeout()
auf der .appendTo('#main')
, aber das hat nicht funktioniert.
Ich brauche es, so dass es eine Verzögerung beim Buchen jedes der Suchergebnisse im #main
Element gibt, so dass es eine Verzögerung beim Ausführen der Fade-In-Animation gibt.
Können Sie dies auf Geige setzen? –