Javascript jQuery scrollTo插件在Chrome中跳转到页面顶部,而不是Firefox

Javascript jQuery scrollTo插件在Chrome中跳转到页面顶部,而不是Firefox,javascript,jquery,google-chrome,webkit,Javascript,Jquery,Google Chrome,Webkit,我寻找了这个答案,但我认为答案是我的问题的解决方案不起作用。考虑到我过去处理的事情要复杂得多,这似乎微不足道,但我一辈子都搞不清楚到底出了什么问题 $('.link').click(function(e){ e.preventDefault(); $.scrollTo('2000px', 300); } 在Chrome和Safari中,这段代码在滚动2000像素之前会跳到页面顶部。我一直在阅读其他列表,其中有其他事件是问题所在,但这是我正在处理的测试页面上唯一的javascri

我寻找了这个答案,但我认为答案是我的问题的解决方案不起作用。考虑到我过去处理的事情要复杂得多,这似乎微不足道,但我一辈子都搞不清楚到底出了什么问题

$('.link').click(function(e){
    e.preventDefault();
    $.scrollTo('2000px', 300);
}

在Chrome和Safari中,这段代码在滚动2000像素之前会跳到页面顶部。我一直在阅读其他列表,其中有其他事件是问题所在,但这是我正在处理的测试页面上唯一的javascript代码(jQuery和scrollTo includes除外)。

您是否只尝试了标准javascript
窗口。scrollTo(0,'2000px')
以查看其行为是否相同

  • 我在chrome中也面临这个问题
  • 每当body元素没有可见的水平滚动条时,当您调用jquery.scrollTo(someElement)时,浏览器会将自身滚动到顶部
  • 您可以执行以下操作之一

    • 在调用scrollTo()之前,请确保有一个滚动条。有很多方法可以做到这一点。最简单的方法是为body元素设置overflow:scroll
    • 等待jquery以某种方式在animate()代码(最终由scrollTo调用)中修复此问题
  • 在我的应用程序(没有水平滚动条)中,当我尝试调试jQuery的动画代码时,我发现每当scrollLeft设置为零时,chrome中的垂直滚动条就会移到顶部。
    希望这能有所帮助。

    通过在谷歌Chrome 11.0.696.34测试版中启用“屏幕捕获(谷歌)-版本:4.0.1”扩展,我能够用jQuery 1.5.1和jQuery.Scroll复制到版本1.4.2


    在同样的情况下,只需禁用扩展并刷新页面,错误就会消失。

    好吧,这似乎是我机器上Chrome和Safari的问题。我在其他计算机上尝试了完全相同的代码,新安装了这两种代码,它们工作正常。不确定问题究竟出在哪里。要卸载并重新安装Google Chrome,看看这是否是一个解决方案。问题是我在Chrome中安装了一个恶意扩展。如果任何人有类似的问题,请尝试停用所有扩展。呃,这是一个非常令人沮丧的问题,但至少是用户(我)的错误。