Ir para conteúdo

Arquivado

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

Adriano Barbosa

Infinite Scroll - Alguem já usou?

Recommended Posts

qual o problema? consultou a documentação?

Compartilhar este post


Link para o post
Compartilhar em outros sites

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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>

Compartilhar este post


Link para o post
Compartilhar em outros sites

aparece algum erro de javascript pelo firebug? testou em mais de um navegador?

Compartilhar este post


Link para o post
Compartilhar em outros sites

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;

Compartilhar este post


Link para o post
Compartilhar em outros sites

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?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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