在加载时滚动到新页面上的片段标识符w/JQuery?

在加载时滚动到新页面上的片段标识符w/JQuery?,jquery,scroll,identifier,scrollto,Jquery,Scroll,Identifier,Scrollto,我想看看是否有可能有一些简单的HTML标记,如: <a href="www.mysite.com/pageXXX#location1"></a> <a href="www.mysite.com/page1#location1"></a> <a href="www.mysite.com/page2#location1"></a> <a href="www.mysite.com/page3#location1">&l

我想看看是否有可能有一些简单的HTML标记,如:

<a href="www.mysite.com/pageXXX#location1"></a>
<a href="www.mysite.com/page1#location1"></a>
<a href="www.mysite.com/page2#location1"></a>
<a href="www.mysite.com/page3#location1"></a>

…然后,当新页面加载某种简单的JQuery脚本时,让它向下滚动到ID
#location1
?或者,如果这是可以通过scrollTo插件实现的,那么我该怎么做呢


问题是链接存在于pageXXX上,而要滚动到的ID存在于所有页面上,即pageXXX、page1、page2、page3等等……理想情况下,如果还有一种方法可以从URL中删除哈希标记和标识符,那也很好,但目前我只想让它平滑地向下滚动到新页面上的ID。

您可以添加一个setTimeout,让它等待一段时间,然后向下滚动

function goToByScroll(id){
        $('html,body').animate({scrollTop: $("#"+id).offset().top},'slow');
}
var hash = window.location.hash;

setTimeout(function(){
      goToByScroll(hash);
},2000);

您可以添加一个setTimeout,让它等待一段时间,然后向下滚动

function goToByScroll(id){
        $('html,body').animate({scrollTop: $("#"+id).offset().top},'slow');
}
var hash = window.location.hash;

setTimeout(function(){
      goToByScroll(hash);
},2000);
另一种选择:

而不是

<a href="www.mysite.com/pageXXX#location1"></a>
参考:

在这里,您可以防止页面在任何地方混乱,并且可以执行下一步(将哈希放入动画滚动函数中),而无需担心它是否触发得足够快。

另一种选择:

而不是

<a href="www.mysite.com/pageXXX#location1"></a>
参考:



在这里,您可以防止页面在任何地方混乱,并且可以执行下一步(将哈希放入动画滚动函数中),而不必担心它是否触发得足够快。

那么您想要平滑滚动吗?因为在没有任何JavaScript的情况下,跳转到这个位置是“开箱即用”的。正确的,我已经让它在没有JQuery的情况下工作得很好,但是如果可能的话,我想消除这种突然的跳转……所以是的,平滑的滚动会非常棒——比如说使用JQuery.Mr时的“慢”速度。布朗,我给你的链接会给你一个平滑的滚动Felix,你有任何关于这一点的意见吗?仍然停留在原来的地方。还有谁能解决这个问题吗???我仍然很困惑。所以你想要一个平滑的卷轴?因为在没有任何JavaScript的情况下,跳转到这个位置是“开箱即用”的。正确的,我已经让它在没有JQuery的情况下工作得很好,但是如果可能的话,我想消除这种突然的跳转……所以是的,平滑的滚动会非常棒——比如说使用JQuery.Mr时的“慢”速度。布朗,我给你的链接会给你一个平滑的滚动Felix,你有任何关于这一点的意见吗?仍然停留在原来的地方。还有谁能解决这个问题吗???我仍然很困惑。感谢您的回复,这正是我想要的,但这是否适用于加载标识符存在的新页面?好吧,您可以使用jQuery从URL获取哈希值并将其粘贴到这个滚动函数中?抱歉,如果我描述得不够详细…问题是链接存在于第1页,ID在第2页-第2页上的ID是一个ID想要平滑地向下滚动到…………理想情况下,如果还有一种方法可以从URL中删除哈希标记和标识符,那也会很好,但是现在让它平滑地向下滚动到新页面上的ID是所有Im的目标。是的,在第一页上,单击第3页#location1,在第2页上使用jQuery抓取“location1”并将其插入滚动函数,你明白吗?有点不完全遵循你的逻辑,尽管加上我对jQuery还是很熟悉…对不起,伙计。不过,当我能深入研究Firebug时,我通常能很容易地找到答案(感谢您的回复,这正是我想要的,但这是否适用于加载标识符存在的新页面?您可以使用jQuery从URL中获取哈希值并将其粘贴到这个滚动函数中?如果我描述得不够详细,请原谅……关键是链接存在于第1页,ID存在于第2页-第2页上的ID是一个ID想要平滑地向下滚动到…………理想情况下,如果还有一种方法可以从URL中删除哈希标记和标识符,那也很好,但目前,让它平滑地向下滚动到新页面上的ID完全是Im的目标。是的,因此在第1页上,单击第2页上的第3页#位置1,使用jQue我想抓取“location1”并将其插入到滚动函数中,明白吗?有点不完全遵循您的逻辑,而且我对JQuery仍然很熟悉…对不起,伙计。当我可以深入研究Firebug时,我通常可以很容易地找到它(