Улучшить эту документацию Просмотреть исходный код $anchorScroll
- $anchorScrollProvider
- сервис в модуле ng
Обзор
При вызове функция прокручивает страницу до элемента, соответствующего заданному hash или (если опущен) текущему значению $location.hash(), согласно правилам, указанным в спецификации HTML5.
Функция также следит за значением $location.hash() и автоматически прокручивает страницу к соответствующему якорю при каждом изменении. Это поведение можно отключить, вызвав $anchorScrollProvider.disableAutoScrolling().
Кроме того, можно использовать свойство yOffset для указания вертикального смещения (фиксированного или динамического).
Зависимости
Использование
$anchorScroll([hash]);
Аргументы
| Параметр | Тип | Описание |
|---|---|---|
| hash (необязательно) | string | Хеш, указывающий элемент, до которого нужно прокрутить. Если опущен, используется значение $location.hash(). |
Свойства
-
yOffset
numberfunction()jqLiteЕсли задано, указывает вертикальное смещение. Это полезно, когда на странице есть элементы с фиксированным позиционированием, такие как навигационные панели, заголовки и т.д.
yOffsetможет быть задано различными способами:-
число: Фиксированное значение в пикселях, используемое в качестве смещения.
-
функция: Функция-получатель, вызываемая каждый раз при выполнении
$anchorScroll(). Должна возвращать число, представляющее смещение (в пикселях).
-
jqLite: Элемент jqLite/jQuery, используемый для задания смещения. Расстояние от верхнего края страницы до нижнего края элемента будет использоваться в качестве смещения.
Примечание: Элемент учитывается только до тех пор, пока егоpositionустановлено в значениеfixed. Этот вариант полезен при работе с адаптивными навигационными панелями/заголовками, которые изменяют свою высоту и/или позиционирование в зависимости от размера viewport.
Для корректной работыyOffsetпрокрутка должна происходить на корневом элементе документа, а не на каком-либо дочернем элементе. -
число: Фиксированное значение в пикселях, используемое в качестве смещения.
Примеры
Пример ниже иллюстрирует использование вертикального смещения (заданного фиксированным значением). См. $anchorScroll.yOffset для получения более подробной информации.
© 2010–2018 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://code.angularjs.org/1.6.9/docs/api/ng/service/$anchorScroll