1

我正在使用以下内容创建从博客文章顶部的链接到我网站底部的评论的滚动动画:

if (location.hash=='#comments') scrollToComments();

这可以很好地滚动到#comments(即第一条评论)。但是,我也希望它能够滚动到具有以下 id 结构“#comment-%”例如“#comment-22”的单个评论。

有没有办法在 jquery 中做到这一点?

4

2 回答 2

1

您可以提取哈希,并滚动到相关元素:

var hash = document.location.hash;
$(window).scrollTop($(hash).length ? $(hash).offset().top : 0);

使用三元来避免读取offset()不存在的元素/jQuery 对象的问题。

于 2012-10-20T17:44:36.517 回答
0

If(regex.test(location.hash)){...}

例如(假设 scrollTo 插件):

if(/^#comments/.test(location.hash)){
  $(window).scrollTo(location.hash, 'slow')
}
于 2012-10-20T17:43:53.720 回答