AngularJS防止滚动锚定在哈希更改上

时间:2018-08-20 12:53:04

标签: angularjs

我的侧边栏上有几个锚点链接,我想在用户单击这些链接并滚动到特定锚点时更改URL。

<div ng-click="updateUrlAndScroll('anchor-1')">
   Anchor 1
</div>


$scope.updateUrlAndScroll =function(hash) {
   var deregisterListener = $scope.$on('$locationChangeSuccess', function(event) {
       if ($route.current.$$route.controller === 'MyController'){ 
           $route.current = lastRoute;
       }
   });
   $location.hash(hash);
   var element = document.getElementById(hash);
   element.scrollIntoView({behavior: 'smooth', block: 'start'});
} 

这是可行的,它不会刷新页面,问题是angularjs立即将页面滚动到锚点哈希,因此scrollIntoView中的动画不起作用。

如何防止angularjs滚动到特定锚点?

0 个答案:

没有答案