Улучшить эту документацию Просмотреть исходный код $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–2020 Google, Inc.
Licensed under the Creative Commons Attribution License 3.0.
https://code.angularjs.org/1.8.2/docs/api/ng/service/$anchorScroll