Il est très difficile de donner une excellente réponse avec juste une image et rien à travailler avec , mais j'imagine que quelque chose de similaire à ci-dessous fonctionnerait.
$("#top-heute").on("scroll", function() {
var fromTop = $(this).scrollTop(); // Find the scrolled position
var viewing = Math.round(fromTop/100) // Assuming your entries are 100 pixels heigh
// Call some function which sets the info
setInfo(viewing); // If you had all results in an array e.g.
setInfo($(".entries", this).slice(viewing - 1)); // Sending across the relevant 'entry'
});
Modifier Sur la base de vos besoins pour permettre à chacune des lignes à être d'une largeur variable, je l'ai produit une JSFiddle qui démontre d'une façon que vous pouvez aborder ce problème.
Le Javascript est la chose la plus importante à regarder:
// Trigger this each time we scroll our div
$("#scroll").on("scroll", function() {
// Keep track the last row
var last = $();
// Loop through each row
$(".row", this).each(function() {
// If it's scrolled position is above or greater than 10px (margin) we've gone too far, break
if($(this).position().top >= 10) return;
last = $(this); // Update the last element otherwise
});
var update = $("#updated");
// Update our info box based on the last element's 'data' attributes
$(".face", update).html("<img src='" + last.attr("data-img") + "' alt='Profile Picture' />");
$(".name", update).html(last.attr("data-name"));
$(".about span", update).html(last.attr("data-last"));
});
// Run the scroll function when we load
$("#scroll").scroll();
Hope this helps. FYI ce genre de chose est connu comme ScrollSpy
.
ouais je pensais à quelque chose de bizarre mais les entrées ont des longueurs différentes. Pouvons-nous trouver la hauteur d'un élément via javascript? Je vais mettre à jour ma question avec plus d'informations bientôt. – Kimmax
Oui, assez de routine - Je vais mettre à jour quand j'ai le temps :) –
Regardez maintenant –