Сравните данные, собранные с jquery каждой функции
Что я хочу сделать, это сравнить каждый элемент смещения друг с другом и получить тот, который находится ближе к верхней части окна, а затем сделать что-то с этим конкретным элементом
$(".slide").each(function(index, el) {
var $this = $(this);
var offset = $this.offset().top - $(window).scrollTop();
});
так что в основном, если я печатаю смещение через console.log
и у меня есть для каждого элемента, имеющего slide
учебный класс,
В настоящее время я получаю эти значения:
slide1 = -875
slide2 = 250
slide2 = 850
slide4 = 1375
Слайд 2 в данный момент является ближайшим к 0, поэтому слайд 2 будет тем div, с которым я бы хотел что-то сделать...
Надеюсь, я достаточно ясен!
1 ответ
Решение
Вы были уже совсем близко от вашей цели
var found=null;
var found_top=0;
$(".slide").each(function(index, el) {
var $this = $(this);
var offset = $this.offset().top - $(window).scrollTop();
if( ( found == null ) || ( ( offset >= 0 ) && ( offset < found_top ) ) ){
found=this;
found_top=offset:
}
});
/** do something with found here **/