Найти в Дзене
IT путешествие

Sticky блок на JS

Несмотря на наличие position: sticky; в css я бы не назвал его простым в использовании: нужно выполнение большого количества условий для его реализации. Предлагаю решение на js. // выберите элемент за которым надо следить const isSticky = false; const element = document.getElementById('.element');
const windowHeight = window.innerHeight;
const observer = new IntersectionObserver(
(entries) => { // observer сам будет менять переменную
isSticky = entries[0].isIntersecting
}, {
threshold: 0,
rootMargin: `0px 0px -${windowHeight}px 0px`
})
observer.observe(element)

Несмотря на наличие position: sticky; в css я бы не назвал его простым в использовании: нужно выполнение большого количества условий для его реализации. Предлагаю решение на js.

// выберите элемент за которым надо следить

const isSticky = false;

const element = document.getElementById('.element');


const windowHeight = window.innerHeight;


const observer = new IntersectionObserver(

(entries) => {

// observer сам будет менять переменную
isSticky =
entries[0].isIntersecting
},

{
threshold: 0,
rootMargin: `0px 0px -${windowHeight}px 0px`
})



observer.observe(element)