Por Edgar Serra jQuery 3 comentários
De qualquer sorte, isto pode parecer algo complexo de ser executado, contudo com jQuery isto não é verdade, abaixo um exemplo prático de como disparar uma função quando chegar ao final da página:
if(($(window).scrollTop() + $(window).height()) > ($('body').height()) ){
alert('Bingo');
Explicando mais detalhadamente, isto vai nos retornar a posição da barra de rolagem atualmente, assim saberemos em que posição da página estamos:
($(window).scrollTop() + $(window).height())
Abaixo temos a parte que nos diz a altura total da página:
$('body').height()
Veja que no exemplo que passei o alert só será disparado quando a barra de rolagem bater no rodapé da página, caso queira que a ação ocorra antes, basta subtrair algum valor da parte que nos diz a altura total da página, por exemplo:
if(($(window).scrollTop() + $(window).height()) > ($('body').height() - 500) ){
Neste exemplo o alert será disparado 500 pixels antes do fim da página, este caso é exatamente o que ocorre no facebook e no twitter, já que neles não é necessário chegar ao fim da página para disparar a paginação. Só é necessário ressaltar que no caso da paginação antes de bater no fim da barra de rolagem é conveniente fazer um controle, caso contrário o disparo do evento pode entrar em um looping.
Dirlei, nesse caso vc pode tratar isso colocando um botão no fim da pagina, pra caso a paginação não funcionei ou esteja em um navegador q não de suporte o usuario clica e carrega o restante do conteúdo. Obg artigo, mi deu uma luz aqui.
24 de Novembro de 2014 às 00:32
Esse exemplo não funciona no IE, o evento dispara ao mover o scroll, independente do tamanho da janela...