如何获取jQuery中的浏览器滚动位置?

我有一个滚动的网页文件。 我想获取当前滚动位置的值(以像素为单位)。 当我运行下面的函数时,它返回值零。 我怎样才能做到这一点?

<script type="text/javascript" src="js/jquery-1.7.2.js"></script> <script type="text/javascript" src="js/jquery.mousewheel.min.js"></script> <script type="text/javascript"> $(function (){ $('#Eframe').on("mousewheel", function() { alert(document.body.scrollDown) } }) </script> 

既然看起来你正在使用jQuery,这里是一个jQuery解决scheme。

 $(function() { $('#Eframe').on("mousewheel", function() { alert($(document).scrollTop()); }); }); 

这里解释不多。 如果你想,这里是jQuery文档 。

最好使用$(window).scroll()而不是$('#Eframe').on("mousewheel")

$('#Eframe').on("mousewheel")将不会触发,如果用户使用滚动条上的向上和向下箭头手动滚动或者抓取和拖动滚动条本身。

 $(window).scroll(function(){ var scrollPos = $(document).scrollTop(); console.log(scrollPos); }); 

如果#Eframe是一个overflow:scroll的元素overflow:scroll它,你想它的滚动位置。 我认为这应该工作(我还没有testing过)。

 $('#Eframe').scroll(function(){ var scrollPos = $('#Eframe').scrollTop(); console.log(scrollPos); });