如果在页面加载时锚点在URL中,如何防止页面“跳转”?

时间:2011-09-20 15:59:49

标签: jquery

如何防止使用jQuery默认浏览器行为,如果在页面加载时锚点在链接中,则跳转到锚点?

var myLink = document.location.toString();

if (myLink.match('#')) {
 $('html, body').animate({ scrollTop: 0 }, 0); // OR
 $(window).scrollTop();
}

或....无法找到解决方案...搜索...并搜索

3 个答案:

答案 0 :(得分:4)

在链接上使用return false / event.preventDefault

var myLink = document.location.toString();

if (myLink.match('#')) {
    $('html, body').animate({ scrollTop: 0 }, 0); // OR
    $(window).scrollTop();
    return false;
}

或者你的意思是你想要平滑滚动到你在哈希标志中引用的ID的位置?

阅读完评论后,请忽略此消息。

可能是这样的:http://jsbin.com/ajafor/4#hello

答案 1 :(得分:1)

<a href="#" class="link">link Text</a>
$(function()
{
    $('a.link').attr('href','javascript:void(0);')
});

或手动添加

<a href="javascript:void(0);" class="link">link Text</a>

答案 2 :(得分:0)

我通过添加localScrollscrollTo来完成此操作,然后简单地调用:

$(function () { $.localScroll(); });