Ich habe folgenden JQuery Code, der eine Funktion ausgeführt wird, wenn die Seite, in der Nähe der unterenJQuery Fenster scroll
var start = 2;
var limit = 2;
$(window).scroll(function() {
if($(window).scrollTop() + $(window).height() > $(document).height() - 100) {
console.log(start);
//f($(window).scrollTop() == $(document).height() - $(window).height()) {
get_ticket_updates(start, limit);
start = (start + 2);
}
});
i für die start
Variable in dem Konsolenprotokoll hinzugefügt gescrollt wird, die 2 jedes Mal hinzuzufügen, ist jedoch, wenn scrollte zum unteren Rand der Seite, die ständig 2 hinzufügt und die Funktion ausführt und nicht aufhört.
Wie kann es gestoppt werden, wenn es bereits ausgeführt wurde, bis die Seite erneut gescrollt wird?
UPDATE - Zusatzfunktion:
function get_ticket_updates(start, limit) {
$("#ticket_updates_loading").show();
var seq = '<?php echo $_GET["seq"]; ?>';
$.ajax({
type: "GET",
url: "/section/tickets/view-ticket?action=get_updates&seq=" + seq + "&start=" + start + "&limit=" + limit,
cache: false,
success: function(data) {
$("#ticket_updates_loading").hide();
$("#ticket_updates_area").append(data);
}
});
}
Was macht get_ticket_updates? Ist es eine asynchrone Methode, um mehr Ergebnisse für das unendliche Scrollen zu laden? – Taplar
Wahrscheinlich müssen Sie sich eine [debounce-Funktion] (https://davidwalsh.name/javascript-debounce-function) ansehen - sonst läuft das viel zu oft, wenn Sie eigentlich nur einmal pro Rolle laufen wollen ". –
Bitte beachten Sie mein Update mit der Funktion – charlie