我有一个带滚动的网络文档。我想获得当前滚动位置的值(以像素为单位)。当我运行以下函数时,它返回零值。我怎么能这样做?
<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>
答案 0 :(得分:97)
因为看起来你正在使用jQuery,所以这是一个jQuery解决方案。
$(function() {
$('#Eframe').on("mousewheel", function() {
alert($(document).scrollTop());
});
});
这里解释不多。如果您愿意,这里是the jQuery documentation。
答案 1 :(得分:16)
最好使用$(window).scroll()
而不是$('#Eframe').on("mousewheel")
$('#Eframe').on("mousewheel")
将不会触发。
$(window).scroll(function(){
var scrollPos = $(document).scrollTop();
console.log(scrollPos);
});
如果#Eframe
是一个包含overflow:scroll
的元素,并且您想要它的滚动位置。我认为这应该有效(尽管我还没有测试过)。
$('#Eframe').scroll(function(){
var scrollPos = $('#Eframe').scrollTop();
console.log(scrollPos);
});
答案 2 :(得分:2)
纯JavaScript可以做到!
var scrollTop = window.pageYOffset || document.documentElement.scrollTop;