Jquery infinite scroll - avec des div, pas de barre de défilement du corps
Supposons que j'ai div et je veux récupérer les données et envoyer des données en div. Lorsque l'utilisateur fait défiler à l'intérieur de la div, le prochain jeu de données seront récupérées et poussé dans la div. Comment puis-je détecter la position de la barre de défilement avec jQuery? Je ne veux pas utiliser n'importe quel plugin. J'ai besoin de jQuery. Voici un exemple de lien comme ahttp://www.stevefenton.co.uk/cmsfiles/assets/File/infinitescroller.html mais il a utilisé un plugin.
OriginalL'auteur Thomas | 2012-04-09
Vous devez vous connecter pour publier un commentaire.
Comment à propos de quelque chose le long des lignes de:
Cela ajoute un nouvel élément à la page principale du conteneur lorsque la barre de défilement atteint le bas de la page. Elle remplit également ce nouvel élément avec un contenu chargé à partir d'un script externe.
Si vous voulez détecter si un utilisateur dispose d'un défilement vers le bas un spécifique div:
que la grille de notation utilisée ici pour accéder au zéro de la propriété de l'objet jQuery $(this). jQuery objets sont semblable au tableau de sorte que vous pouvez compter sur la première propriété d'être cohérent. Dans ce cas, c'est une référence à l'arbre DOM enveloppé par l'objet jQuery. C'est un moyen rapide de sténographie.
Presque parfait! 😉 J'ai une petite modification pour que le deuxième bloc. Un div avec
overflow-y:auto
, la logique suivante a fonctionné pour moi:$(this).scrollTop() === ($(this)[0].scrollHeight - $(this).innerHeight())
.Mieux chercher sur 75% de défilement de Mathématiques.round($(this).scrollTop() + $(this).innerHeight()) == $(this)[0].scrollHeight
OriginalL'auteur hohner
Ce code a été testé et vérifié que le travail. Lorsque vous faites défiler votre div, le code vérifie si la barre de défilement, atteint vers le bas par la comparaison de la molette de hauteur contre la roue de la position. Si oui, il fait appel à une méthode qui devient de plus en plus de contenu et l'ajouter à la div.
Profitez-en!
Coby
Par votre commentaire, voici la page HTML le code source qui fonctionne (testé sous IE 9):
** S'il vous plaît assurez-vous que vous faites référence à la bibliothèque de jquery **
OriginalL'auteur Koby Mizrahy
Je pense que
.scrollTop()
est l'arme de votre choix. jQuery APIAlors assurez-vous de le lier à la droite de l'élément. Directement sur la div devrait fonctionner je pense.
Donc, vous avez sans doute trouver un moyen de calculer la hauteur de la div comme si elle allait être étiré sans barre de défilement pour mettre ces nombres dans une relation significative à tirer de la mise en charge de l'événement.
OriginalL'auteur yoshi