身高(例如)200%。有一个div。当您单击它时,浏览器应该发出警报,您滚动了多少(就像标题所示,从文档顶部开始的位置,以像素为单位)。我尝试了两种变体,但它们都不起作用:(
var doc = $(document)
var pos = doc.scrollTop();
$(".block").click(function() {
alert('Distance from top is ' + pos + ' pixels')
})
如果我使用scrollTop
,即使我位于文档的底部,它也会提醒“...是0像素”。
如果我使用offset
,则会提醒“...是未定义的像素”。
我该怎么办?
答案 0 :(得分:0)
这是我在项目中实现的crossbrowser解决方案。忘记我找到它的地方或者我的功劳!可能是另一个问题。
function getScrollTop(){
if(typeof pageYOffset!= 'undefined'){
//most browsers except IE before #9
return pageYOffset;
}
else{
var B= document.body; //IE 'quirks'
var D= document.documentElement; //IE with doctype
D= (D.clientHeight)? D: B;
return D.scrollTop;
}
}