Улучшить эту документацию Просмотреть исходный код $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. Этот вариант полезен при работе с адаптивными навигационными панелями/заголовками, которые изменяют свою высоту и/или позиционирование в соответствии с размером области просмотра.
Для корректной работыyOffsetпрокрутка должна происходить на корневом элементе документа, а не на каком-либо дочернем элементе. -
число: Фиксированное число пикселей, используемое в качестве смещения.
Примеры
Пример ниже иллюстрирует использование вертикального смещения прокрутки (указанного как фиксированное значение). Подробности см. в $anchorScroll.yOffset.
© 2010–2018 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://code.angularjs.org/1.7.8/docs/api/ng/service/$anchorScroll