Javascript 关于scrollTop的值

来源:百度知道 编辑:UC知道 时间:2024/06/13 22:11:58
我写了一段js请看

function scall(){
if(newdiv){ newdiv.style.top=document.documentElement.scrollTop;
}}

代码就是把div newdiv层定位在浏览器顶端。

问题出现在这里。 当一个新页面载入以后,如果用户没有滚动鼠标,滚动条没有动,那scrollTop的值应该为0呀? 为什么会变成比如1292或者1342这么大的数字? 然后层就会显示页面最最底部?

为什么会发生这个问题?

你这行代码仅适用ie6;
var geometry={};
if(window.innerWidth){ // all but IE
geometry.getHScroll=function(){
return window.pageXOffset;
}
geometry.getVScroll=function(){
return window.pageYOffset;
}
}else if(document.documentElement && document.documentElement.clientWidth){ // IE 6 with DOCTYPE
geometry.getHScroll=function(){
return document.documentElement.scrollLeft;
}
geometry.getVScroll=function(){
return document.documentElement.scrollTop;
}
}else if(document.body.clientWidth){ //IE other version without DOCTYPE
geometry.getHScroll=function(){
return document.body.scrollLeft;
}
geometry.getVScroll=function(){
return document.body.scrollTop;
}
}
另外定位容器在页面顶端不动可以使用纯css代码实现:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "关于javascript 关于sc.exe 关于JavaScript和VBScript 关于JavaScript问题 关于javascript的问题 再问关于javascript 关于JavaScript特效的 关于javascript的alert 关于javaScript的问题 关于Javascript教程