在Angular1.6 $ anchorScroll,Offset

时间:2017-03-29 04:19:26

标签: angularjs angularjs-1.6

有人可以向我解释如何在AngularJS 1.6中的组件中使用$ anchorScroll,Offset,scrollX,scrollY吗?

2 个答案:

答案 0 :(得分:0)

angular.module('anchorScrollExample', [])
.controller('ScrollController', ['$scope', '$location', '$anchorScroll',
  function($scope, $location, $anchorScroll) {
    $scope.gotoBottom = function() {
      // set the location.hash to the id of
      // the element you wish to scroll to.
      $location.hash('bottom');

      // call $anchorScroll()
      $anchorScroll();
    };
  }]);

这是official documentation给出的示例。

它将$anchorScroll服务注入控制器。一旦您将$anchorScroll()哈希值设置为所需位置的ID(例如,您要滚动到的元素开始),只需通过$location调用即可使用该服务。

如果您将$location服务注入控制器感到不舒服,您也可以直接将元素的ID传递给$anchorScroll('bottom')

如果您的页面顶部有一个固定的导航栏(或沿线的某些内容),您需要指定要添加到滚动位置的偏移量(否则导航会在滚动完成后覆盖您的元素)。 通过设置$anchorScroll.yOffset = 100来完成此操作。

答案 1 :(得分:-1)