如何使用jquery禁用自动滚动到顶部?

时间:2011-07-16 04:15:20

标签: jquery scroll

我在我的网页中放置了一些链接,我使用jQuery设置了click事件处理程序。因此,当点击任何这些链接时,将显示一个带有.slideDown()方法的菜单,但我遇到的问题是,在点击链接后,窗口会自动滚动到顶部。

我还没有使用scrollTo(0,0)窗口正在滚动。这种自动滚动到顶部是不希望的,不应该发生。

我已尝试过以下内容,但仍无法正常工作。

document.body.scroll(false);
document.body.scrollTop(0);

我附上了2张图片。 image1 是普通网页, image2 是点击Softwares-2链接并且窗口滚动到顶部时的同一网页(可以通过滚动条看到右)。

  

注意:图片中指定的数字只是为了表明窗口正在滚动。

image1 image2

4 个答案:

答案 0 :(得分:8)

您的页面实际上正在重新加载而不是滚动

您必须通过执行以下操作来阻止默认链接点击行为(即:通过href属性值和加载响应来定义资源的请求):

$("a").click(function(evt) {
    evt.preventDefault();
    // display your menu
    // and do what's required
});

通常人们也会向您的处理程序建议return false;,但这不是必需的。你仍然可以在click事件处理函数的结束大括号之前做到这一点。

答案 1 :(得分:2)

添加如下所示的return false语句。

<a href="#" onclick="function();return false;">Link</a>

答案 2 :(得分:1)

event.preventDefault并在你的.click处理程序中返回false应该为你修复它。

答案 3 :(得分:0)

$(document).ready(function() {

....

return false;
});