我有一个页面,其中有很多是包含描述和图像的帖子。
然后我用这个函数滚动到元素
$('html, body').animate({
scrollTop: $(".entry" + vm.note).offset().top + 200
}, 1000);
问题有时我会滚动去元素,有时不会。 我不知道为什么。
PS:我使用angularJS
答案 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