J'essaie de déterminer quand j'ai parcouru le bas de la page (sans utiliser de bibliothèque JS), mais jusqu'à présent, je suis un peu confus sur l'une des options suivantes. Le plus prometteur que j'ai vu est window.scrollY
, mais même lorsqu'il est défilé vers le bas de la page, il ne correspond jamais à la valeur de window.innerHeight
. Quelle est la meilleure façon de le faire?
window.innerWidth window.innerHeight window.outerWidth window.outerHeight window.scrollX window.scrollY document.body.scrollWidth document.body.scrollHeight document.body.scrollTop document.body.scrollLeft document.body.offsetTop document.body.offsetLeft document.body.offsetWidth document.body.offsetHeight
Lorsque window.innerHeight
+ document.body.scrollTop
est supérieur ou égal à document.body.offsetHeight
alors vous êtes au bas
Mais comme IE a des problèmes avec ces propriétés, vous devez utiliser des propriétés alternatives, comme
document.documentElement.scrollTop
pour le scroll et document.documentElement.clientHeight
pour la hauteur de la fenêtre
Code complet: http://jsbin.com/egegu3/6/edit
Étant une personne paresseuse au cœur, je mettrais un élément au fond du DIV, et j'appliquerai le plugin jQuery " élément en vue ". (Avertissement: je n'ai aucune expérience personnelle avec ça, mais ça a l'air bien.)
Une légère variation de l'exemple de l'entrée du blog:
$('#bottomDIV').bind('inview', function (event, visible) { if (visible == true) { // element is now visible in the viewport highlightButtons(); // or whatever you want to do in the context } });