我正在使用以下内容从博客帖子顶部的链接创建滚动动画,再到我网站底部的评论:
if (location.hash=='#comments') scrollToComments();
这可以正常滚动到#comments(即第一条评论)。但是,我还希望它能够滚动到具有以下id结构“#comment-%”的单个评论,例如“#注释-22”。
有没有办法在jquery中执行此操作?
答案 0 :(得分:1)
您可以提取哈希值,并滚动到相关元素:
var hash = document.location.hash;
$(window).scrollTop($(hash).length ? $(hash).offset().top : 0);
使用三元组来避免读取不存在的元素/ jQuery对象的offset()
时出现问题。
答案 1 :(得分:0)
如果(regex.test(的location.hash)){...}
例如(假设使用scrollTo插件):
if(/^#comments/.test(location.hash)){
$(window).scrollTo(location.hash, 'slow')
}