AngularJS-$ anchorScroll平滑/持续时间

阅读AngularJS文档,我还没有弄清楚是否$anchorScroll可以使用持续时间/缓动选项来平滑滚动到元素。

它只说:

$location.hash('bottom');

// call $anchorScroll()

$anchorScroll();

我不使用jQuery,也不想这样做。还有一种聪明而简单的方法$anchorScroll可以使滚动更平滑吗?

回答:

遗憾的是,无法使用$anchorScroll。如您所见,$anchorScroll它没有任何选择,因此无法使用$ngAnimate。为了使滚动动画,您需要使用自己的服务/工厂或直接使用JavaScript。

为了进行自学,我将示例与平滑的滚动服务结合在一起。可能有更好的方法来执行此操作,因此鼓励您提供任何反馈。

要滚动到某个元素,请将a附加ng-click="gotoElement(ID)"到任何元素。我认为更好的方法是将该指令作为指令。

这是jsFiddle上的工作示例。

现在有许多第三方指令可以完成此任务。

  • https://github.com/oblador/angular-scroll。
  • https://github.com/d-oliveros/ngSmoothScroll
  • https://github.com/arnaudbreton/angular-smoothscroll
  • https://gist.github.com/justinmc/d72f38339e0c654437a2

以上是 AngularJS-$ anchorScroll平滑/持续时间 的全部内容, 来源链接: utcz.com/qa/401498.html

回到顶部