当用户滚动窗口时,我需要获取元素(div)的位置(position().top)。问题是,当我调用position().top来获取滚动后的新位置时,它的值与滚动前相同。这是一些代码:
$('document').ready(function() {
alert($('#my-element').position().top);
$(window).scroll(function() {
alert($('#my-element').position().top);
});
});
怎么没变?有没有办法获得新的新鲜值?
最佳答案
jQuery 的 .position()
返回相对于元素的父元素的偏移量。
您可能应该使用.offset().top
,它将相对于文档进行计算,然后根据文档滚动大小进行折扣。
$( "#my-element" ).offset().top - $( document ).scrollTop()
关于jquery - 元素的position().top在滚动后不会改变 - 如何获取新位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16612651/