Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

vitorweb

Scroll infinito com Jquery [PROBLEMA]

Recommended Posts

Estou tentando criar uma páginação com scroll infinito com jquery para fazer um determinado evento, quando a barra de rolagem da página chega ao fim.... Mas o evento ocorre quando a barra fica no inicio e nao no final, segue o script...

 

var win = $(window);

win.scroll(function () {
	if ($(document).height() - win.height() == win.scrollTop()) {

    }
});

Grato pela ajuda...

Compartilhar este post


Link para o post
Compartilhar em outros sites
function getDocumentHeight() {
	const body = document.body;
	const html = document.documentElement;
	
	return Math.max(
		body.scrollHeight, body.offsetHeight,
		html.clientHeight, html.scrollHeight, html.offsetHeight
	);
};

function getScrollTop() {
	return (window.pageYOffset !== undefined) ? window.pageYOffset : (document.documentElement || document.body.parentNode || document.body).scrollTop;
}

// Este valor de medida (300) é a distância antes do final da página que o evento vai carregar
var medida = window.innerHeight + 300;

window.onscroll = function() {
	if (getScrollTop() < getDocumentHeight() - medida) return;

   $.ajax({
   		method: "post",
      url:'http://localhost/seusite/page2.php',
      complete: function (response) {
        $('#article-list').append(response.responseText);
      },
      error: function () {
        alert('Ajax error');
      }
  });
	
};

Se você preferir, e quiser que carregue exatamente no final, basta substituir a variável "medida" por "window.innerHeight" na seguinte linha:

  if (getScrollTop() < getDocumentHeight() - medida) return;

 

Ficando assim:

  if (getScrollTop() < getDocumentHeight() - window.innerHeight) return;

 

 

Espero ter ajudado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por ILR master
      Pessoal, pergunta bem simples. Abaixo tenho o seguinte código:
       
      <script>
      function alerta()
      {
        if (window.confirm("Você realmente quer sair?")) {
          window.open("sair.html");
      }
      }
      </script>
       
      Funciona perfeitamente, só que está abrindo em outra janela e quero que abra na mesma janela.
       
      Alguém pode me ajudar?
    • Por Giovanird
      Olá a todos!
      Tenho uma pagina que possui uma DIV onde coloquei uma pagina PHP.
      Uso a função setInterval para atualizar a pagina inclusa dentro da DIV.
      O problema é que ao acessar o site , a DIV só me mostra a pagina inclusa somente quando completo o primeiro minuto.
      Preciso que a pagina inclusa já inicie carregada
       
      Meu código JavaScript e a DIV com a pagina PHP
       
      <script> function atualiza(){ var url = 'direita.php'; $.get(url, function(dataReturn) { $('#direita').html(dataReturn); }); } setInterval("atualiza()",60000); </script> <div> <span id="direita"></span> </div>  
    • Por Thiago Duarte
      Oi, gostaria de arrastar imagem e ao soltar formar bloco html, meu bloco de html ficaria com nome, content-1.html, content-2.html, etc
       
      Alguem pode me ajudar?
    • Por belann
      Olá!
       
      Estou fazendo o upload de arquivos com fetch dessa forma
      fetch(url, {
              method: 'POST',
              headers: {'Content-Type': 'multipart/form-data',},
              body: formData 
          }).catch((error) => (console.log("Problemas com o Upload"), error));
       
      estou usando input type=file
      e criando uma const formData = new FormData(); 
      mas não faz e não dá nenhum erro.
      estou fazendo o upload com a url="http://localhost/dashboard/dados".
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.