$ location.hash()破坏了我的功能

时间:2017-06-07 02:41:44

标签: angularjs autoscroll

我非常接近完成我的页面,我遇到了这个奇怪的错误。

当我使用ng-include时,页面加载正常,但它们会从之前的位置继续滚动,因此每次点击都不会从顶部开始。

我使用锚定滚动,但它无法正常工作。我必须再次单击该链接,以便加载内容,如果我再次单击相同的链接,它会将页面偏移到某个奇怪的位置。

这是我在控制器中的代码:

    $scope.toPage = function (index, id) {
    $scope.missiveIndex = index;
    $scope.contentsDown();
    $location.hash(id);
};

这是HTML部分:

<article id="{{articles.ids}}" class="stories-anim" ng-repeat="articles in stories" ng-hide="!isMissiveSlideIndex($index)" ng-include="articles.content" [autoscroll]>
</article>

通过ng-click="ng-click="toPage($index, button.ids);"

传递ID

有没有办法将location.hash放在[onload]表达式中并以这种方式自动滚动?

感谢

1 个答案:

答案 0 :(得分:0)

主播滚动可能不起作用,因为调用时页面的内容没有完全加载。

您可以使用超时解决此问题。

$timeout(function() {
  $anchorScroll();
},500);