使用jquery在chrome中使用scrollto和scrolltop的问题

时间:2011-07-12 12:16:03

标签: javascript google-chrome scrollto scrolltop

我尝试过使用scrollTo(y,x)和scrollTop(x-pos),括号中的值是各个DOM元素的offset.top值。这些似乎最初在所有浏览器中都有效,但是当刷新Chrome以重新发送表单提交时,页面会跳转到应该存在的瞬间,然后跳回到顶部。当我在刷新页面之前滚动回页面顶部时会发生这种情况。 Chrome是否会保存某种会话变量或在刷新时跟踪页面位置,以便在单击刷新时,页面会聚焦于上次查看的屏幕部分?如果是这样,有没有办法阻止Chrome的这种反应?我已经尝试添加一个setTimeout,希望我的scrolltop或scrollto(如上所述,我尝试过两者)等到Chrome对页面加载做出反应,但结果没有变化。

if ($('.register_box').length > 0) {
    if ($('.register_box').find('.error').length > 0) {
        var regbox = $('.register_box').offset();
        $('body').scrollTop(regbox.top);
    }
}

我试过'body','html',一个选择器包装器,窗口,屏幕,以及它们的组合 - 没有变化。我也提醒了regbox.top的值,并且一直得到699的值,所以我知道它传递了正确的值。我是否需要停止传播或防止默认,如果是,在哪里? Firefox和IE都正确响应。 Mac和PC上的Chrome都没有。

0 个答案:

没有答案