Não importa se não tiver uma solução…Tão importante quanto ela, são as dicas de com chegar alcança-la…
Eu tenho um script que “carrega conteúdo por AJAX” após atingir o fim da página, porém ele tem um erro.
Quando o scroll chega no fim da página, duas condições do IF são satisfeitas
if (per === 1 || clientMax === scrollMax)
e nesta hora é são realizadas duas requisições AJAX neste caso…
-
Duvida - Alguém consegue identificar o erro desse código? O que eu posso fazer ele fazer apenas 1 requisição?
-
Dúvida - Para carregar o conteúdo do meu site, eu preciso de 3 parâmetros… Dois tipo, tipo=“a” e tipo=“b” das postagens, e o nome do Usuário vindo do PHP, como eu passo esses parâmetros aqui? seria qui nesta parte da função?
window.onscroll = onScroll;
tem alguma relação com função declarativa, anônima ou literal? Estou começando a ver sobre
Aqui é onde eu chamo a Função. -
Pior dúvida - Assim como no GUJ e Facebook, uma hora a função
window.onscroll = onScroll;
para de trazer o conteúdo, porque não há mais o que carregar.
Alguém tem um ideia de como fazer uma função parar de ser Executada? Eu acredito que haja uma relação entre PHP e JavaScript, seria alguma coisa de PHP ou JavaScript Orientada a Objeto?
Qualquer dica será que grande ajuda, não sou tão bom em programação , mas já iniciei PHP Orientada a Objeto para tentar solucionar alguns desses problemas.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Como Funciona o SCROLL</title>
<style>
#ondeEstaOScroll {
position:fixed;
width:150px;
right:0px;
}
.linha {
color:#ccc;
}
</style>
<script>
function onScroll() {
var scrollEsta, scrollMax, clientMax, per;
//Retorna os pixels do documento actual foi rolado (vertical) a partir do canto superior esquerdo da janela.
scrollEsta = document.documentElement.scrollTop || window.pageYOffset;
//Retorna a altura visível do conteúdo em uma página (não incluindo as fronteiras, margens, ou barras de rolagem)
scrollMax = document.documentElement.scrollHeight;
//Retorna a altura total de um elemento (incluindo áreas escondidas com barras de rolagem)
clientMax = document.documentElement.clientHeight || document.body.clientHeight;
per = scrollEsta / (scrollMax - clientMax);
if (per === 1 || clientMax === scrollMax) {
//Aqui entra minha Requisiçao AJAX - No meu site nesta hora são excecutadas 2 requisições simultâneas
//Comente o alert (linha 34) e Descomente a linha (33) abaixo...Dá erro, o conteúdo é adicionado enquanto estiver rolando o Scroll
document.getElementById("p").innerHTML += '<div style="padding:50px;background:#f4f4f4;border:1px solid #ccc;width:500px;margin: 10px auto;text-align:center;">O SCROLL CHEGOU AO FIM DA PÁGINA - NO MEU SITE, NESTA HORA SÃO FEITAS 2 REQUISIÇÕES AJAX</div>';
//alert("O Scroll chegou ao fim");
}
document.getElementById("ondeEstaOScroll").value = scrollEsta;
}
window.onscroll = onScroll;
window.onload = function () {
for (i = 0; i <= 100; i += 1) {
document.getElementById("p").innerHTML += '<span class="linha">Linha </span>' + i.toString()+'<br/>';
}
}
</script>
</head>
<body>
<input type="text" id="ondeEstaOScroll">
<p id="p"></p>
</body>
</html>
Abraço à todos!!!