@lexchz

Как сделать проверку находжения блока в видимой области?

Есть такая задача - приписать дополнительный класс блокам, которые появляются в видимой области браузера. Прошу совета, как это можно реализовать на JQuery. Что-то наподобие такого:

<div class="slider">
<div class="slide"></div>
<div class="slide"></div>
<div class="slide"></div>
</div>


$('.slide.current p').on('viewport', function(event) {
$(this).addClass('in-viewport');
});
  • Вопрос задан
  • 146 просмотров
Пригласить эксперта
Ответы на вопрос 1
@WQP
function inWindow(s){
  var scrollTop = $(window).scrollTop();
  var windowHeight = $(window).height();  
  var currentEls = $(s);
  var result = [];
  currentEls.each(function(){
    var el = $(this);
    var offset = el.offset();
    if(scrollTop <= offset.top && (el.height() + offset.top) < (scrollTop + windowHeight) && (el.is(":visible")))
      result.push(this);
  });
  return $(result);
}


inWindow( $('.block') )
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы