Я бы рекомендовал взглянуть на jQuery Waypoints , он получил именно то, что вы ищете, и его легко использовать.
Вот пример Imade, где я добавляю класс .selected
, когда элемент прокручивается в область просмотра с помощью jQuery Waypoints.
Конечно, вы можете сделать это и сами, но вы будете делать то же самоеПутевая точка уже выполняет.
Сначала используйте .scroll
событие в любом документе или желаемом элементе для захвата определенного события, которое вы хотите.
$(document).scroll(function(e){
});
Затем используйте .scrollTop
, чтобы проверить, где вы находитесь, и добавить «границы», в которых должны находиться ваши элементы, в зависимости от области просмотра, то есть окна.
$(document).scroll(function(e){
var bound_top = $(this).scrollTop(),
bound_bottom = bound_top + $(window).height();
});
Затем проверьте каждый элемент заголовка / раздела впосмотрите, находятся ли они в этих границах
$(document).scroll(function(e){
var bound_top = $(this).scrollTop(),
bound_bottom = bound_top + $(window).height();
$("h2").each(function(){
if(
$(this).position().top >= bound_top &&
$(this).position().top + $(this).outerHeight() <= bound_bottom
){
$(this).addClass("selected");
}else{
$(this).removeClass("selected");
}
}
});
Это будет выглядеть примерно как в этом примере Я сделал.
Этот подход позволяет вам делать вещи точно так же, какВы хотите их.
jQuery Waypoints - это хороший и быстрый способтернатива.