Область видимости для документа
важность: 5
Напишите функцию getDocumentScroll()
, которая возвращает объект с информацией о текущей прокрутке и области видимости.
Свойства объекта-результата:
top
– координата верхней границы видимой части (относительно документа).bottom
– координата нижней границы видимой части (относительно документа).height
– полная высота документа, включая прокрутку.
В этой задаче учитываем только вертикальную прокрутку: горизонтальная делается аналогично, а нужна сильно реже.
top
– этоpageYOffset
.bottom
– этоpageYOffset
плюс высота видимой частиdocumentElement.clientHeight
.height
– полная высота документа, её вычисление дано в главе Размеры и прокрутка страницы.
Итого:
function getDocumentScroll() {
var scrollHeight = Math.max(
document.body.scrollHeight, document.documentElement.scrollHeight,
document.body.offsetHeight, document.documentElement.offsetHeight,
document.body.clientHeight, document.documentElement.clientHeight
);
return {
top: pageYOffset,
bottom: pageYOffset + document.documentElement.clientHeight,
height: scrollHeight
};
}