在angular中自定义自动滚动顶部指令
custom autoscroll top directive in angular
当更改路由时,新加载的页面不会滚动到顶部。我在ui-view元素中添加了autoscroll = true
指令,但它没有一直滚动到顶部,可能有一个向下偏移50px,我认为它必须做w/顶部固定导航栏。
我添加了一个自定义滚动指令,它完成了这项工作,新页面被滚动到顶部。这个指令的唯一障碍是不允许向下滚动。我不熟悉指令,我知道肯定有更多的代码丢失在自定义指令。有人能帮我一下吗?
指令如下:
angular.module('myapp')
.directive("scrollTop", function ($window) {
return function(scope, element, attrs) {
angular.element($window).bind("scroll", function() {
scope.visible = false;
$window.scrollTo(0, 0);
scope.$apply();
});
};
});
下面是html代码:
<body id="myapp" ng-app="myapp">
<div ng-include="'navbar/_navbar.html'" ng-controller="NavbarMenuCtrl"></div>
<div class="container-fluid">
<div ui-view scroll-top><%= yield %></div ui-view>
</div>
<div ng-include="'footer/_footer.html'"></div>
</body>
我希望我可以使用autoscroll
指令,但是有一个微小的偏移,它几乎滚动到顶部。也许我可以绕过那个指令,而不是构建一个自定义指令。谢谢你的帮助,我还是一个AngularJS新手。
autoscroll
用于在视图更新时滚动到ui-view
元素的顶部。如果你想在状态改变时滚动整个窗口。你可以添加一个运行块来观察状态变化并滚动它。
angular.module('myapp').run(['$rootScope','$window',function($rootScope,$window){
$rootScope.$on("$stateChangeSuccess",function(){
$window.scrollTo(0, 0);
})
}]);
相关文章:
- 滚动固定滚动顶部()的跳跃效果
- 当偏移量改变时滚动顶部
- 滚动顶部在滑动后不起作用切换
- 使滚动顶部始终检查
- 页面滚动在粘性页脚布局中保持滚动顶部位置
- 滚动顶部闪烁-Internet Explorer
- j查询滚动顶部麻烦
- 我如何使用滚动顶部()获取HTML文档的位置
- 滚动顶部到元素 - 20px
- JQuery 偏移和滚动顶部问题
- 滚动事件仅在滚动顶部时触发
- 单击并滚动顶部
- 每次在顶部滚动顶部重置
- IE <选择>滚动顶部
- 打开对话框正在更改我的滚动顶部位置
- 为什么有时滚动顶部/滚动左不可写
- 滚动顶部 Jquery
- 数据表在页面更改时滚动顶部
- 使用滚动顶部显示滚动的像素
- 可以 jQuery invalidHandler 通过父窗口中的 iframe 滚动顶部