Получить класс до которого прокрутили

Представим у нас на сайте есть много элементов с одинаковыми классами.
Да пустим мы прокручиваем страницу до определённого класса, например my_class. Нам нужно получить у этого класса атрибут data-title. Затем прокручиваем до следующего класса my_class и снова получаем у него атрибут data-title. И так до бесконечности.
Если у нас будет в место класса id, то получить можно, но у нас именно одинаковые классы.

2 комментария

Incode 21.09.2014 18:35
@Kylaksizov, не так уж и сложно это же сделать для классов. Изначально собираем верхние позиции всех нужных нам элементов в массив, а потом (по событию скролла в окне), просто сравниваем данные того, насколько проскроллили с данными вышеупомянутого массива. Вот живой примерчик и, собственно, сам код:
var elems = $('.my_class'),
  output = $('#output'),
  elPosTop = elems.map(function(i, el){
    return $(el).offset().top;
  }).get();
Array.prototype.getIndex = function(s) {
  for(var i = 0; i < this.length; i++){
    if(s >=  this[i] && (s < this[i+1] || typeof this[i+1] == 'undefined')) {
      return i;
    }
  }
};
$(window).on('scroll', function(){
  console.log($(this).scrollTop());
  var title = elems.eq(elPosTop.getIndex($(this).scrollTop())).data('title') || '';
  output.text(title);
});
Kylaksizov 21.09.2014 18:36
Спасибо, помогло!
Ваш комментарий:
X