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

$anchorScroll

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

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

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

依赖:$window   $location   $rootScope

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

属性:number  function(){}  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();
      };
    };
  }());


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值