当有人在这个jsfiddle中向上滚动时,有没有人知道为什么scrollTop()不会在视口上方返回#box的数量 - http://jsfiddle.net/qD7Yh/ - ?单击该框将返回当前的scrollTop。
jQuery是:
$(document).ready(function(){
$('#box').click(function() {
alert("scrollTop() for box is " + $('#box').scrollTop());
});
});
由于
答案 0 :(得分:2)
函数scrollTop()
返回距您正在调用的元素顶部的距离,因此在当前语法中,函数返回滚动 in 框中的数量,因为它没有任何滚动条或可滚动的内容,是0.你的代码可以工作,你的<div>
应该有一些溢出的内容,这应该允许它滚动,从而增加scrollTop()
值< / p>
试试这个:
的CSS:
#box{
width:200px;
height:100px;
line-height:200px;
overflow: scroll;
background-color: beige;
border:1px solid brown;
}
HTML:
<div id="box"><p>Hello there</p><p>This is a test</p></div>
的javascript:
$(document).ready(function(){
$('#box').click(function() {
alert("scrollTop() for box is " + $('#box').scrollTop());
});
});
如果您想了解滚动了多少文档(因为该框大于窗口的高度),请使用$(window).scrollTop()
或$(document).scrollTop()