我在中间滚动页面,然后重新加载页面(F5)。之后那个卷轴还在中间。这是正常的。我的任务是在页面加载后设置scrollY = 0.
如果我设置document.documentElement.scrollTop = 0(document.body.scrollTop = 0或window.pageXOffset = 0且在$(document).ready(...) or $(window).load(...)
之内或之外)页面未滚动到顶部。
我有这个功能:
function getScrollXY() {
var x = 0, y = 0;
if( typeof( window.pageYOffset ) == 'number' ) {
// Netscape
x = window.pageXOffset;
y = window.pageYOffset;
} else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
// DOM
x = document.body.scrollLeft;
y = document.body.scrollTop;
} else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
// IE6 standards compliant mode
x = document.documentElement.scrollLeft;
y = document.documentElement.scrollTop;
}
return [x, y];
}
即使在页面加载后滚动页面,它也始终返回x = 0。
那么如何在页面加载后将滚动设置为顶部?
jsfiddle上的代码: http://jsfiddle.net/g6w9r/1/
来自jsfiddle的框架看到结果: http://fiddle.jshell.net/g6w9r/1/show/
答案 0 :(得分:0)
window.scrollTo(x-coord, y-coord);