我在使用JQuery Layout时遇到了一个非常奇怪的问题。也许有人之前已经解决过......有时,整个屏幕都会向上滚动。这意味着浏览器的底线现在出现在屏幕中间(或多或少)。之后,每次刷新(CTRL-R)时屏幕都会保持滚动状态。
我试图删除Cookie并刷新,问题消失了。所以我认为如果禁用Jquery Layout cookie( useStateCookie:false ),问题肯定会消失,但问题仍然存在......
抱歉,我不能给你一个JSFiddle演示,因为它甚至很难在我自己的系统中重现。有什么想法吗?
答案 0 :(得分:3)
我以前见过它,但不知道你是否会有同样的问题导致它!当然不明白为什么它会受到cookies的影响。我将其跟踪到scrollIntoView javascript函数。
function ScrollToId(id)
{
elm=document.getElementById(id);
elm.scrollIntoView();
}
在我们的例子中,传入的id将是一个错误消息的div,它位于页面主体部分的顶部(在非滚动菜单栏下方,在非滚动状态栏上方) )。
与你的问题一样,偶尔它会出错,并且似乎将非滚动元素从页面顶部滚动,这样错误div就是新的页面顶部。最终放弃了一个通用的修复程序,取而代之的是一个更加硬编码的版本,它只是滚动一个特定的页面元素:
function ScrollToErrors()
{
$('#div_inside_body').scrollTop(0);
}