Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Alguém pode me ajudar a utilizar o infinite scroll dinamicamente?
Att
nessa vez o google ajudou
http://www.jquery4u.com/tutorials/jquery-infinite-scrolling-demos/
inclusive tem demos
Nunca usei como programador, mas já usei como usuário e isso pode ser tornar uma experiência desagradável ao usuário.
Uma frase que li há muito tempo é que "não adianta que o website rode feito um foguete no seu Mac se o seu público-alvo tem um Windows 95 com um modem 56k". Algo assim, já que na época modem 56k era "moda", mas enfim.
O Infinite Scroll vai proporcionar uma navegação mais fluida? Vai. Mas tudo aquilo que ele carregar vai estar sendo armazenado no PC do usuário, sem nenhum tipo de "limpeza" de dados antigos, daquilo que já foi carregado anteriormente.
Com isso, um teste que eu fiz num PC bem mais modesto foi que ao navegar aí umas 20, 25 páginas com Infinite Scrol o consumo de memória do navegador estava tão alto que até abrir uma nova guia demorava uma eternidade.
Isso sem contar o desconforto que é um scroll manual do mouse quando a barra de rolagem está tão fina que mal se consegue ver.
Já consultei a documentação sim, na verdade já está funcionando, eu não consigo é fazer com que ele pare de ficar aparecendo a mensagem de "loading"
Chega no final mostra todos os itens e não aparece a mensagem de que "acabou"
Abaixo está meu script, alguem pode me ajudar.
Já está funcionando, porém ele não para de ficar aparecendo a mensagem de "Carregando" mesmo depois de ter finalizado.
<?
$query = "SELECT * FROM produtos ORDER BY produtos";
$num='10'; //Aqui e' informado o número de resultados por pagina.
$prev='5'; //Aqui e' definido o número maximo de paginas anteriores.
$next='5'; //Aqui e' definido o número maximo de paginas posteriores.
$pg=$_GET['pg'];
if ($pg==""){$pg=1;}
if (is_numeric($pg)){echo "";}
$sql = ($query);
$resposta=mysql_query($sql,$conexao);
$total=mysql_num_rows($resposta);
// Aqui e' a parte dos calculos.
$pages=($total/$num);
$pages = ceil($pages);
$primeiro=(($pg*$num)-$num);
$firstpage=($pg-5);
$lastpage=($pg-5);
$anterior=$pg-1;
$posterior=$pg+1;
$prev=$pg-$prev;
$last=$pg+$next;
$next=$pg+1;
$sqlVitrine = mysql_query($query." LIMIT $primeiro,$num");
while($Rs = mysql_fetch_array($sqlVitrine)) {
echo $Rs['produto']."<br><br>";
}
?>
A navegação:
<nav id="page-nav">
<?php echo "<a href='index2.php?pg=$posterior'></a>";?>
</nav>
O Javascript:
<script src="jquery-1.7.1.min.js"></script>
<script src="masonry.min.js"></script>
<script src="jquery.infinitescroll.min.js"></script>
<script>
$(function(){
var $container = $('#container');
$container.imagesLoaded(function(){
$container.masonry({
itemSelector: '.box',
columnWidth: 100
});
});
$container.infinitescroll({
navSelector : '#page-nav', // selector for the paged navigation
nextSelector : '#page-nav a', // selector for the NEXT link (to page 2)
itemSelector : '.produtosList', // selector for all items you'll retrieve
loading: {
finishedMsg: 'No more pages to load.',
img: 'http://i.imgur.com/6RMhx.gif'
}
},
// trigger Masonry as a callback
function( newElements ) {
// hide new items while they are loading
var $newElems = $( newElements ).css({ opacity: 0 });
// ensure that images load before adding to masonry layout
$newElems.imagesLoaded(function(){
// show elems now they're ready
$newElems.animate({ opacity: 1 });
$container.masonry( 'appended', $newElems, true );
});
}
);
});
</script>aparece algum erro de javascript pelo firebug? testou em mais de um navegador?
Não aparece nenhum erro, não da erro...
O problema é que quando termina de mostrar os registros e vc sobe novamente a rolagem, o script continua "paginando
Amigos, alguem conseguiu ver esse problema e possa me ajudar?
Estou achando que o problema está nesse trecho do script onde faço os cálculos para montar a paginação, estou utilizando a variavel POSTERIOR para ir avançando só que ela não para de adicionar + 1 e por conta disso não para de aparecer a mensagem "Carregando..."
$num='10'; //Aqui e' informado o número de resultados por pagina.$prev='5'; //Aqui e' definido o número maximo de paginas anteriores.$next='5'; //Aqui e' definido o número maximo de paginas posteriores.$pg=$_GET['pg'];if ($pg==""){$pg=1;}if (is_numeric($pg)){echo "";}$sql = ($query);$resposta=mysql_query($sql,$conexao);$total=mysql_num_rows($resposta);// Aqui e' a parte dos calculos.$pages=($total/$num);$pages = ceil($pages);$primeiro=(($pg*$num)-$num);$firstpage=($pg-5);$lastpage=($pg-5);$anterior=$pg-1;$posterior=$pg+1;$prev=$pg-$prev;$last=$pg+$next;$next=$pg+1;O template que colocaram para mim tem scroll infinite e para mim é muito ruim, a pessoa que colocou sumiu e eu preciso muito tirar isso, por favor, alguém pode me ajudar?
qual o problema? consultou a documentação?