javascript – Angular js – $anchorScroll平滑/持续时间

喜欢阅读Angular Js doc我不知道$ anchorScroll是否可以有一个duration / easing选项来平滑滚动到元素。

它只说:

$location.hash('bottom');

    // call $anchorScroll()
    $anchorScroll();

因为我不使用jquery,实际上我不想,是有一个聪明的,简单的方法来使或者扩展$ anchorScroll滚动更流畅吗?

谢谢

不幸的是,这是不可能使用$ anchorScroll。当你发现$ anchorScroll没有任何选项,不使用$ ngAnimate。为了动画滚动,你需要使用自己的服务/工厂或直接javascript。

为了自我学习,我把一个平滑滚动服务的例子。有可能更好的方法这样做,所以任何反馈鼓励。

要滚动到一个元素,您可以将ng-click =“gotoElement(ID)”附加到任何元素。我认为一个更好的路线将是这个指令。

这是working example on 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

http://stackoverflow.com/questions/21749878/angular-js-anchorscroll-smooth-duration

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:javascript – Angular js – $anchorScroll平滑/持续时间