как определить позицию элемента относительно viewport в javascript

Аватар пользователя Ivan Gagarinov
Ivan Gagarinov
09 марта 2025

Для определения позиции элемента относительно viewport в JavaScript можно использовать методы getBoundingClientRect() и window объекта:

// Получим DOM элемент, позицию которого мы хотим определить
const element = document.getElementById('myElement'); // замените 'myElement' на id вашего элемента

// Получим размеры и координаты элемента относительно viewport с помощью метода getBoundingClientRect()
const elementPosition = element.getBoundingClientRect();

Метод getBoundingClientRect() возвращает объект с координатами элемента относительно viewport, включая top, right, bottom и left.

Теперь можем определить позицию элемента относительно viewport:

const elementTop = elementPosition.top; // расстояние от верхней границы viewport до верхней границы элемента
const elementLeft = elementPosition.left; // расстояние от левой границы viewport до левой границы элемента
const elementBottom = elementPosition.bottom; // расстояние от верхней границы viewport до нижней границы элемента
const elementRight = elementPosition.right; // расстояние от левой границы viewport до правой границы элемента

Также можно добавить проверку, чтобы узнать, виден ли элемент на экране:

const isVisible = elementTop < window.innerHeight && elementBottom >= 0 && elementLeft < window.innerWidth && elementRight >= 0;
0 0