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

时间:2011-02-22 17:37:24

标签: javascript jquery google-chrome webkit

我搜索了这个,但我假设的答案是解决我的问题不起作用。考虑到我过去曾经处理过更为复杂的事情,这似乎非常微不足道,但我不能为我的生活弄清楚出了什么问题。

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

此代码在Chrome和Safari中,在滚动2000像素之前跳转到页面顶部。我一直在阅读其他列表,他们有其他事件是问题,但这是我正在研究的测试页面上唯一的javascript代码(除了jQuery和scrollTo包括)。

3 个答案:

答案 0 :(得分:1)

通过在Google Chrome 11.0.696.34 beta中启用“Screen Capture(by Google) - 版本:4.0.1”扩展,我能够使用jQuery 1.5.1和jQuery.SCrollTo 1.4.2版复制此错误。< / p>

在相同的情况下,只需禁用该扩展程序并刷新页面就会导致错误消失。

答案 1 :(得分:0)

您是否尝试过标准javascript window.scrollTo(0,'2000px'),看看它的行为是否相同?

答案 2 :(得分:0)

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

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