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