200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > angularJs中跳转到指定的锚点详解($anchorScroll)

angularJs中跳转到指定的锚点详解($anchorScroll)

时间:2024-05-20 12:03:38

相关推荐

angularJs中跳转到指定的锚点详解($anchorScroll)

$anchorScroll

根据HTML5的规则,当调用这个函数时,它检查当前的url的hash值并且滚动到相应的元素。

监听$location.hash()并且滚动到url指定的锚点的地方。

可以通过$anchorScrollProvider.disableAutoScrolling()禁用。

依赖:$window $location $rootScope

使用:$anchorScroll([hash]);hash将会指定元素滚动到的位置,如果省略参数,则将使用$location.hash()作为默认值。

属性:numberfunction(){}jqLite

如果设置了这个值,将会指定一个垂直的滚动的偏移量。这种场景经常用于在页面顶部有固定定位的元素, 如导航条,头部等(让出头部空间)。

yOffset可以用多种途径指定:

-number: 一个固定的像素值可以使用(无单位)。

-function: 每次$anchorScroll()执行时这个函数都会被调用,它必须返回一个代表位移的数字(无单位像素值)。

jqLite: 一个jqLite/jQuery元素可以被指定为位移值。这个位移值会取页面的顶部到该元素底部的距离。

注意: 只有有元素的定位方式是固定定位时才会应该被纳入考虑之中。这个设置 在响应式的导航条/头部需要调整他们的高度亦或 根据视图来定位时很有用处。

<div ng-app="Demo" ng-controller="testCtrl as ctrl"><div id="top" ng-click="ctrl.gotoBottom()">跳到底部</div><div id="bottom" ng-click="ctrl.gotoTop()">跳到顶部</div></div>

(function () {angular.module("Demo", []).controller("testCtrl",["$location", "$anchorScroll",testCtrl]);function testCtrl($location,$anchorScroll){this.gotoTop = function () {$location.hash("top");$anchorScroll();};this.gotoBottom = function () {$location.hash("bottom");$anchorScroll();};};}());

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。