Como eu rolaria infinitamente

Uma solução de Javascipt vanilla que descobri muito útil ao implementar coisas que reagem à rolagem de janela.

Defina um método para calcular se o usuário está baixo o suficiente em uma página para o nosso gatilho de ação …

function canNext() {
var offset = 30, // distance from page bottom
pageHeight
= Math.max(document.body.scrollHeight, document.body.offsetHeight),
viewportHeight
= window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight || 0,
scrollHeight
= window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;
// Trigger for scroll, or any thing i'd like to call as user reaches bottom
return pageHeight - viewportHeight - scrollHeight < offset;
}

… e um método que utiliza isto:

function doScroll(){
if(!canNext()) return checkScroll();
// my scroll action....
}

Observe o relógio em vez de rolar para acionar este

function checkScroll(){
setTimeout
(doScroll, 100);
)

checkScroll
();