加载页面时滚动到元素有时会出错元素

时间:2018-04-02 16:31:11

标签: javascript jquery angularjs scroll scrollview

我有一个页面,其中有很多是包含描述和图像的帖子。

然后我用这个函数滚动到元素

   $('html, body').animate({
         scrollTop: $(".entry" + vm.note).offset().top + 200
               }, 1000);

问题有时我会滚动去元素,有时不会。 我不知道为什么。

PS:我使用angularJS

1 个答案:

答案 0 :(得分:0)

可能是DOM仍在渲染,它无法计算从body / html到要滚动的元素(“。entry”+ vm.note)的确切顶部距离。

在使用超时执行代码之前,您可能会尝试延迟。

setTimeout(function(){
    $('html, body').animate({
         scrollTop: $(".entry" + vm.note).offset().top + 200
               }, 1000);
}, 3000); //set it longer if it's still not scrolling