Метрики элемента

Размеры

Внешние размеры (включая рамку):

element.offsetWidth
element.offsetHeight

Внутренние размеры (внутри рамки, включая паддинги, исключая невидимую часть при прокрутке):

element.clientWidth
element.clientHeight

Полные внутренние размеры (с учетом невидимой прокрученной части):

element.scrollWidth
element.scrollHeight

Отступ внутренней части элемента от внешней (ширина рамки border):

element.clientTop
element.clientLeft

Положение прокрутки

element.scrollTop
element.scrollLeft

Эти значения можно изменять.

Смещение относительно родителя

Ссылка на родителя, относительно которого позиционируется элемент:

element.offsetParent

Для элементов со статическим и относительным позиционированием это будет ближайший родитель, для абсолютно и фиксированно позиционированных элементов — ближайший позиционированный слой.

Смещение относительно offsetParent:

element.offsetLeft
element.offsetTop

Метрики страницы

Ширина и высота видимой области:

document.documentElement.clientWidth
document.documentElement.clientHeight

Ширина и высота окна браузера (с учетом скроллбара):

window.innerWidth
window.innerHeight

Положение прокрутки

window.pageXOffset
window.pageYOffset

Точное определение размера страницы с учетом прокрутки

let scrollHeight = Math.max(
  document.body.scrollHeight, document.documentElement.scrollHeight,
  document.body.offsetHeight, document.documentElement.offsetHeight,
  document.body.clientHeight, document.documentElement.clientHeight
);

Изменение прокрутки страницы

Смещение относительно текущих координат (на x пикселей вправо, на y пикселей вниз):

window.scrollBy(x,y)

Прокрутка к указанным координатам:

window.scrollTo(pageX, pageY)

Прокрутка к указанному элементу:

element.scrollIntoView(); // элемент окажется вверху страницы
element.scrollIntoView(false); // элемент окажется внизу страницы

Запрет прокрутки

document.body.style.overflow = "hidden"

Координаты элемента

Относительно окна браузера

element.clientX
element.clientY

Прямоугольник, охватывающий элемент:

element.getBoundingClientRect(); // { top, left, right, bottom }

Получение элемента по координатам

document.elementFromPoint(x,y)

Метод возвращает элемент, находящийся на координатах x, y относительно окна браузера.

Относительно страницы

element.pageX
element.pageY

element.pageY = element.clientY + текущая вертикальная прокрутка страницы (pageYOffset).

Относительно экрана

element.screenX
element.screenY

Размеры экрана:

window.screen.width
window.screen.height

Координаты верхнего левого угла браузера:

window.screenX
window.screenY

0 комментариев

Оставить комментарий

*Доступные HTML-теги: a, abbr, blockquote, code, pre, del, i, em, strong, b, strike
*Не будет опубликован