2014-02-07 44 views
8

有没有一种方法可以让平滑滚动的ui-router的自动滚动功能取代立即跳转到那个地方?UI路由器中自动滚动的平滑滚动

或者是否有一种方法来添加一个eventlistener到状态被改变时触发的所有状态,我可以访问ui-view的元素?

+0

您是否遇到过这种解决方案?谢谢! – dani

回答

8

像这样的东西应该工作。如果你有一个固定的头文件或类似的东西可能会混淆偏移量,你可能必须调整target.offset()。top。

app.config(function ($provide) { 
    $provide.decorator('$uiViewScroll', function ($delegate) { 
    return function (uiViewElement) { 
     $('html,body').animate({ 
      scrollTop: uiViewElement.offset().top 
     }, 500); 
    }; 
    }); 
}); 

保留autoscroll="true"在您的ui视图上。

查看其他回答的信息在prodiver:Angular ui-router scroll to top, not to ui-view