即使是最简单的.scrollTop()示例也会返回0

我需要找到元素相对于视口的垂直位置。 我发现jquery .scrollTop()函数就是这个,但它返回0.它确实在检查$(document)的scrollTop时返回正确的值,但我需要元素的位置,而不是窗口位置。 难道我做错了什么?

HTML:

1
2

JavaScript的:

 $(window).scroll(function() { console.log($("span").scrollTop()) }) 

Jsfiddle: http : //jsfiddle.net/kwVC7/

我想我可以用这个来做这个工作:

 $("span").offset().top - $(document).scrollTop() 

但我仍然感兴趣的是为什么element.scrollTop不能正常工作。

它返回正确的值。 正如我在上面的评论中所指出的, .scrollTop()用于检索匹配元素的滚动条的位置……它与检索匹配元素相对于视口的位置无关。