如何使用ngAnimate平滑滚动

How to smooth scroll with ngAnimate?

本文关键字:滚动 平滑 ngAnimate 何使用      更新时间:2023-09-26

我想知道为什么在我的控制器中这不起作用:

angular.module('app', [
        'ngAnimate',
    ])
    .controller('MainCtrl', function ($scope, $log, $window, $document) {
        var scrollTop = 200 // For example
        angular.element(document).find('body').animate({scrollTop: scrollTop}, 'slow');
    });
});

我只是想顺利滚动到正文标签顶部的特定偏移量。我是否必须以不同的方式使用ngAnimate

TypeError: angular.element(...).查找(...动画不是函数

>ngAnimate.animate()没有任何关系。这个函数与jQuery有关,而不是与AngularJS有关。因此,有效的解决方案将如下所示:

angular.module('app', [
        'ngAnimate',
    ])
    .controller('MainCtrl', function ($scope, $log, $window, $document) {
        var scrollTop = 200 // For example
        $('html, body').animate({scrollTop: scrollTop}, 'slow');
    });
});
另外,在加载上面的脚本之前,不要忘记在html

文件中加载jquery。