0

我在 Angular 中有一个固定的顶部菜单,但是当我尝试切换页面(在应用程序内)时,浏览器窗口没有向上滚动。

我尝试在我的控制器中执行此操作(每次我在应用程序中切换页面时都会加载此代码):

$('body').scroll();
window.scrollTo(0, 0);
$("html, body").animate({ scrollTop: 0 }, 100);

这些都不起作用。

有什么我错过的技巧吗?

我也试过这个:

$location.hash('#top');
// call $anchorScroll()
$anchorScroll();

但没有成功

4

1 回答 1

3

首先,你不应该附加 DOM 事件或从控制器修改 DOM。您可以为此使用指令。

根据您的问题 - AngularJS 有一个名为“$routeChangeSuccess”的事件。您可以将处理程序附加到此事件$scope.$on('$routeChangeSuccess', function () {...})并在其中运行滚动代码。

于 2013-11-04T23:20:02.617 回答