2010-10-25 4 views
4

Comment ont-ils accompli cela? Avez-vous les gars vus: http://www.skittles.com? Le site ne finit jamais!Comment script «Endless Document» (comme Skittles.com)

+0

J'ai lu auparavant que vous devriez faire attention quand vous faites cela. Je préfère encore pouvoir cliquer sur "page suivante" au lieu de devoir faire défiler vers le bas ... Que faire si votre page-viewer rafraîchit sa page? Le spectateur devra-t-il faire défiler pendant quelques minutes pour revenir au contenu auquel il/elle était? – Warty

+0

Je recommanderais ** pas ** le faire. Les navigateurs ne seront pas heureux si vous faites défiler vers le bas. De plus, c'est un peu confus. Et ce que @ItzWary a dit, si je me rafraîchis, je dois recommencer. C'est boiteux. – Jason

+0

Je suis d'accord. C'est juste une technique cool qui a du sens pour le "Rainbow sans fin" de Skittles! –

Répondre

0

Eh bien, voici une façon de le faire:

$(document).ready(
    function(){ 
    $(window).scroll(
     function(){ 
      if ($(window).scrollTop() + $(window).height() >= $(document).height()) { 
       $('div').clone().appendTo('body'); 
      } 
     } 
     ); 
    } 
    ); 

Avec l'JS Fiddle demo nécessaire. Gardez à l'esprit que tout contenu interactif qui est cloné/ajouté/inséré dynamiquement nécessitera un type live() ou delegate() pour interagir avec jQuery.

Cela dit, il y a des mises en garde:

  1. scrolling infini est pas nécessairement une aide agréable de navigation, en particulier si l'utilisateur est susceptible de vouloir voir une partie de la moitié du contenu en bas d'une page infinie.
  2. Il arrive un moment où un navigateur va tomber en panne ou devenir léthargique/ne répond pas en raison du volume de contenu qu'il est nécessaire de maintenir en mémoire.
Questions connexes