我有一个位置“固定”的div,而当用户向下滚动页面时,我想获取相对于整个文档的位置的值.
所以,让我说div放在(x = 0,y = 0),然后用户向下滚动一下,现在相对于文档,div开启(X = 0,y = 300).我想得到这些信息,我想知道那个div在每个时刻的确切位置,再次相对于整个文档,而不是窗口或浏览器.
我尝试了许多事情,但似乎没有什么可以得到我想要的.
其中之一就是这个代码,在一个固定的div的情况下是不行的:
var position = $("#fixed").offset(); /*it gets the position of the div "fixed" relative to the document*/ $("#fixed").html(position.top); /*it prints the obtained value on the div "fixed"*/
Here you can find the running code,您可以看到,当您向下滚动时,div的位置的值不会改变.
如果我没有错,代码应该每当它改变相对于文档的垂直位置时在div上打印一个新的值.但事实证明,这不会发生.
解决了:
这个问题已经在codef0rmer解决了.我错过了跟踪滚动来刷新固定div位置的值.我是个白痴所以最终的代码工作正常,他写的方式:
$(function () { var position = $("#fixed").offset(); $("#fixed").html(position.top); $(window).scroll(function () { var position = $("#fixed").offset(); $("#fixed").html(position.top); }); })
和here you can see the running code.
谢谢大家,特别是codef0rmer.