метод scrollIntoView
- [ScrollAlignment? alignment]
Прокручивает страницу, чтобы этот элемент оказался в области видимости.
Одновременно можно указать только один вариант выравнивания.
Если параметры не указаны, будет выполнена прокрутка на минимальное расстояние, необходимое для отображения элемента.
Обратите внимание: alignCenter в настоящее время поддерживается только на платформах WebKit. Если указан параметр alignCenter, но он не поддерживается, вместо него будет использоваться alignTop.
См. также:
- scrollIntoView на MDN.
- scrollIntoViewIfNeeded на MDN.
Реализация
void scrollIntoView([ScrollAlignment? alignment]) {
var hasScrollIntoViewIfNeeded = true;
hasScrollIntoViewIfNeeded =
JS('bool', '!!(#.scrollIntoViewIfNeeded)', this);
if (alignment == ScrollAlignment.TOP) {
this._scrollIntoView(true);
} else if (alignment == ScrollAlignment.BOTTOM) {
this._scrollIntoView(false);
} else if (hasScrollIntoViewIfNeeded) {
// TODO(srujzs): This method shouldn't be calling out to
// `scrollIntoViewIfNeeded`. Remove this and make `scrollIntoView` match
// the browser definition. If you intend to use `scrollIntoViewIfNeeded`,
// use the `Element.scrollIntoViewIfNeeded` method.
if (alignment == ScrollAlignment.CENTER) {
this.scrollIntoViewIfNeeded(true);
} else {
this.scrollIntoViewIfNeeded();
}
} else {
this._scrollIntoView();
}
}
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.19.6/dart-html/Element/scrollIntoView.html