J'ai une fonction qui charge une nouvelle donnée à partir de la base de données chaque fois que l'utilisateur fait défiler et atteint le bas de la page (comme facebook). Maintenant, le problème est que, lorsque l'utilisateur fait défiler vers le bas, défile un peu en arrière, puis redescend en bas à nouveau: cela appelle la fonction deux fois à droite? Charge donc les nouveaux messages deux fois. Ce que je veux faire est de désactiver temporairement la fonction quand elle est activée, charge les nouvelles données, puis active à nouveau la fonction.Désactiver la fonction Jquery/JS
Voici mon code:
function scroll_load() {
$('#maincontainer').bind('scroll', function(){
If($(this).scrollTop()+$(this).innerHeight()>=$(this)[0].scrollHeight){
//CODE THAT TEMPORARILY DISABLES THE SCROLLING FUNCTION UNTIL AJAX LOADS SUCCESSFULLY here--
//loads the new posts through ajax
$.ajax({
type: 'GET',
url: "getpost.php",
data: {'id':my_id},
success: function(data){
$('#dataview').append(data);
}
});
}
});
}
Merci!
Chercher « debouncing ». – Barmar