Angularjs 偏移ui路由器自动滚动
当页面加载/路由更改时,我使用ui路由器的autoScroll向下滚动到一个div(ui视图)。它目前正在这样做。有办法抵消自动滚动吗?我需要在菜单的元素上方留下100px,我不知道该怎么做Angularjs 偏移ui路由器自动滚动,angularjs,angular-ui-router,autoscroll,Angularjs,Angular Ui Router,Autoscroll,当页面加载/路由更改时,我使用ui路由器的autoScroll向下滚动到一个div(ui视图)。它目前正在这样做。有办法抵消自动滚动吗?我需要在菜单的元素上方留下100px,我不知道该怎么做 app.directive('scrollTop', function($uiViewScroll) { var linker = function (scope, element, attr, $elm) { $uiViewScroll(element);
app.directive('scrollTop', function($uiViewScroll) {
var linker = function (scope, element, attr, $elm) {
$uiViewScroll(element);
};
return {
restrict: 'A',
link: linker
}
});
HTML:
autoscroll指令允许您在填充视图时设置浏览器窗口的滚动行为 默认情况下,$anchorScroll被ui路由器的自定义滚动服务$uiViewScroll覆盖。此自定义服务允许您在状态激活期间填充ui视图元素时将其滚动到视图中 尝试修饰默认的$uiViewScroll服务,覆盖默认行为
app.config(function ($provide) {
$provide.decorator('$uiViewScroll', function ($delegate) {
return function (uiViewElement) {
// var top = uiViewElement.getBoundingClientRect().top;
// window.scrollTo(0, (top - 30));
// Or some other custom behaviour...
};
});
});
看
app.config(function ($provide) {
$provide.decorator('$uiViewScroll', function ($delegate) {
return function (uiViewElement) {
// var top = uiViewElement.getBoundingClientRect().top;
// window.scrollTo(0, (top - 30));
// Or some other custom behaviour...
};
});
});