JavaScript: Intersection Observer API для наблюдения за пересечениями

Intersection Observer API позволяет определить, когда элемент входит или покидает область просмотра. Это чрезвычайно полезно для реализации бесконечной прокрутки и других динамических интерфейсов.

Когда вы загружаете большой объём данных, вы можете использовать бесконечную прокрутку. С помощью Intersection Observer API можно определить, когда пользователь прокручивает к определенной точке страницы, и загрузить дополнительные данные во время этой прокрутки. Это может существенно сократить время загрузки и улучшить пользовательский опыт.

Для начала нужно создать пример html страницы с блоками:


<style>
.item{
margin:50px 0;
height:500px;
background-color:#dcdcdc;
text-align:center;
line-height:500px;
}
</style>

<div class="item">Блок 1</div>
<div class="item">Блок 2</div>
<div class="item">Блок 3</div>
<div class="item">Блок 4</div>

При прокручивании страницы по мере появления блоков в зоне видимости в консоль будут отправляться сообщения: Блок % виден


const items = document.querySelectorAll('.item');

const options = {
  root: null,
  rootMargin: '0px',
  threshold: 0.5
};

const observer = new IntersectionObserver(entries => {
  entries.forEach(entry => {
    if (entry.isIntersecting) {
      console.log(`${entry.target.textContent} виден`);
    }
  });
}, options);

items.forEach(item => {
  observer.observe(item);
});

JavaScript просмотров: 40

Комментарии

Ваш комментарий будет первым.
Войдите, чтобы оставить комментарий.