comment empêcher que cette fonction soit exécutée plus de 2 fois dans les x millisecondes?
-
12-11-2019 - |
Question
comment puis-je éviter d'être exécutée deux fois, quand j'arrive à la partie inférieure de défilement?
if ($(window).scrollTop() == $(document).height() - $(window).height()){
last_msg_funtion();
}
Les Options que je vois:
J'ai essayé de fixer un var loading_already == false, et, chose comme:
if(loading_already==false){
loading_already = true;
last_msg_function();
setTimeout('refresh_loading',300);
}
où
function refresh_loading(){ loading_already = false; }
Mais ne se fait pas, de toute suggestion concernant ce?
merci!
La solution
chargement_already= true;
Vous avez== qui est booléen est opérateur, pas d'affectation.
Autres conseils
Vous devez utiliser l'génial jQuery gaz/anti-rebond plugin.Ce genre de chose très facile.
L'exemple suivant permettra de s'assurer que las_msg_function
est appelé plus d'une fois toutes les 250 millisecondes (en supposant que votre parchemin de détection de l'expression est correcte);
if ($(window).scrollTop() == $(document).height() - $(window).height()) {
$.throttle(250, las_msg_function);
}
Voici une page d'exemple qui montre comment il est utilisé en conjonction avec défilement de détection (voir le deuxième exemple)