Метод 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.18.5/dart-html/Element/scrollIntoView.html