阅读AngularJS docs我还不知道$anchorScroll
是否可以使用持续时间/缓动选项来平滑滚动到元素。
它只说:
$location.hash('bottom');
// call $anchorScroll()
$anchorScroll();
我不使用jQuery,也不想这样做。还有一种聪明而简单的方法来制作或扩展
$anchorScroll
以使滚动更加流畅吗? 最佳答案
不幸的是,使用$anchorScroll
是不可能的。如您所见,$anchorScroll
没有任何选项,并且不能与$ngAnimate
一起使用。为了使滚动动画,您需要使用自己的服务/工厂或直接使用JavaScript。
为了进行自学,我将示例与平滑的滚动服务结合在一起。可能有更好的方法来执行此操作,因此鼓励您提供任何反馈。
要滚动到某个元素,请将ng-click="gotoElement(ID)"
附加到任何元素。我认为更好的方法是将该指令作为指令。
这是working example on jsFiddle。
更新
现在有许多第三方指令可以完成此任务。