所以,我有两个页面,notifications
和topic
。 Topic
页面有评论,每条评论都有唯一的ID。当用户按下notifications
页面中的评论链接时,会将他带到滚动到按下的确切评论用户的topic
页面。之后的链接看起来像topic/titleoftopic#comment_627
。它工作得很好,但现在,当我添加无限滚动并开始只显示前几条注释(其余部分被加载到滚动到底部)时,它不会滚动到注释,我收到错误控制台Uncaught TypeError: Cannot read property 'top' of undefined
,显然这是因为评论尚未加载。有没有办法使它工作?我有一个想法 - 开始滚动到底部,直到找到确切的评论,但不知道如何实现这一点。这是我如何滚动的代码:
//Scroll to the comment from notifications
$(document).ready(function() {
$('html, body').hide();
if (window.location.hash) {
$('html, body').scrollTop(0).show();
$('html, body').animate({
scrollTop: $(window.location.hash).offset().top
}, 800);
} else {
$('html, body').show();
}
});
感谢大家的任何建议或建议!
答案 0 :(得分:0)
对于动态添加的项目,您必须从整个文档中找到该ID。
$(document).ready(function () {
$('html, body').hide();
if (window.location.hash) {
$('html, body').scrollTop(0).show();
$('html, body').animate({
scrollTop: $(document).find(window.location.hash).offset().top
}, 800);
} else {
$('html, body').show();
}
});