JQuery Layout cookie滚动问题

时间:2011-09-01 22:49:06

标签: jquery layout

我在使用JQuery Layout时遇到了一个非常奇怪的问题。也许有人之前已经解决过......有时,整个屏幕都会向上滚动。这意味着浏览器的底线现在出现在屏幕中间(或多或少)。之后,每次刷新(CTRL-R)时屏幕都会保持滚动状态。

我试图删除Cookie并刷新,问题消失了。所以我认为如果禁用Jquery Layout cookie( useStateCookie:false ),问题肯定会消失,但问题仍然存在......

抱歉,我不能给你一个JSFiddle演示,因为它甚至很难在我自己的系统中重现。有什么想法吗?

1 个答案:

答案 0 :(得分:3)

我以前见过它,但不知道你是否会有同样的问题导致它!当然不明白为什么它会受到cookies的影响。我将其跟踪到scrollIntoView javascript函数。

function ScrollToId(id)
{
  elm=document.getElementById(id);
  elm.scrollIntoView();
}

在我们的例子中,传入的id将是一个错误消息的div,它位于页面主体部分的顶部(在非滚动菜单栏下方,在非滚动状态栏上方) )。

与你的问题一样,偶尔它会出错,并且似乎将非滚动元素从页面顶部滚动,这样错误div就是新的页面顶部。最终放弃了一个通用的修复程序,取而代之的是一个更加硬编码的版本,它只是滚动一个特定的页面元素:

function ScrollToErrors()
{
  $('#div_inside_body').scrollTop(0);
}