Element.scrollIntoView()
Метод Element.scrollIntoView()
интерфейса Element
прокручивает контейнер родителя элемента так, чтобы элемент, на котором был вызван scrollIntoView()
, стал виден пользователю.
Синтаксис
element.scrollIntoView(); element.scrollIntoView(alignToTop); // аргумент типа Boolean element.scrollIntoView(scrollIntoViewOptions); // аргумент типа Object
Параметры
alignToTop
Необязательный-
Параметр типа
Boolean
:true
, верхняя граница элемента будет выровнена по верху видимой области прокрутки. СоответствуетscrollIntoViewOptions: {block: "start", inline: "nearest"}
. Значение по умолчанию.false
, нижняя граница элемента будет выровнена по низу видимой области прокрутки. СоответствуетscrollIntoViewOptions: {block: "end", inline: "nearest"}
scrollIntoViewOptions
Необязательный Экспериментальная возможность-
Объект со следующими свойствами:
behavior
Необязательный-
Анимация прокрутки. Принимает значения
"auto"
или"smooth"
. По умолчанию"auto"
. block
Необязательный-
Вертикальное выравнивание. Одно из значений:
"start"
,"center"
,"end"
или"nearest"
. По умолчанию"start"
. inline
Необязательный-
Горизонтальное выравнивание. Одно из значений:
"start"
,"center"
,"end"
или"nearest"
. По умолчанию"nearest"
.
Пример
HTML
html
<button type="button" class="btn">Нажми на меня</button>
<div class="big"></div>
<div id="box" class="box">Скрытый элемент</div>
CSS
css
.big {
background: #ccc;
height: 300px;
}
.btn {
font-size: 14px;
}
.box {
background: lightgreen;
height: 40px;
}
JavaScript
js
var hiddenElement = document.getElementById("box");
var btn = document.querySelector('.btn');
function handleButtonClick() {
hiddenElement.scrollIntoView({block: "center", behavior: "smooth"});
}
btn.addEventListener('click', handleButtonClick);
Результат
Примечание
Область может не полностью прокручивается до элемента (вверх или вниз), это зависит от расположения других элементов.
Спецификации
Specification |
---|
CSSOM View Module # dom-element-scrollintoview |
Совместимость с браузерами
BCD tables only load in the browser
Смотрите также
Element.scrollIntoViewIfNeeded()
(en-US) Non-standard