J'ai un div
couche avec overflow
réglé sur scroll
.
Lorsque vous faites défiler l'écran jusqu'au bas de la page div
je veux exécuter une fonction.
J'ai un div
couche avec overflow
réglé sur scroll
.
Lorsque vous faites défiler l'écran jusqu'au bas de la page div
je veux exécuter une fonction.
Parce qu'il ne détecte pas du tout la fin du défilement, il détecte quand la partie de la page qui a défilé vers le haut et la hauteur de la div qui la contient sont les mêmes ! Si vous avez deux fois plus de contenu à faire défiler que la hauteur de la division, une fois que vous avez atteint la toute fin, la valeur scrollTop sera deux fois plus grande que la hauteur offsetHeight du conteneur. La réponse acceptée vérifie si ces valeurs sont égales, et elle ne détectera pas la fin. Ma solution vérifie que la valeur scrollTop + la hauteur du conteneur est égale (ou supérieure, le cas échéant) à l'ensemble de la zone de défilement, ce qui constitue le fond !
@Alex window.location.href = 'http://newurl.com';
ou window.open('http://newurl.com');
+ le code ci-dessus.
OK. Voici une bonne et appropriée solution
Vous avez un appel Div avec un id="myDiv"
Ainsi va la fonction.
function GetScrollerEndPoint()
{
var scrollHeight = $("#myDiv").prop('scrollHeight');
var divHeight = $("#myDiv").height();
var scrollerEndPoint = scrollHeight - divHeight;
var divScrollerTop = $("#myDiv").scrollTop();
if(divScrollerTop === scrollerEndPoint)
{
//Your Code
//The Div scroller has reached the bottom
}
}
J'ai trouvé une alternative qui fonctionne.
Aucune de ces réponses n'a fonctionné pour moi (actuellement testé dans FireFox 22.0), et après beaucoup de recherches j'ai trouvé, ce qui semble être, une solution beaucoup plus propre et directe.
Solution mise en œuvre :
function IsScrollbarAtBottom() {
var documentHeight = $(document).height();
var scrollDifference = $(window).height() + $(window).scrollTop();
return (documentHeight == scrollDifference);
}
Salutations
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
2 votes
Vérifiez ceci Démonstration de jsfiddle
0 votes
La capture d'écran est cassée