jQuery的position()
返回
在匹配的元素,相对于偏移父的第一个元素的当前坐标。
因此,滚动家长不应该改变位置 ,对吧?
我得到的结果这个小提琴是由100像素滚动父之后, position().top
的100子元素的变化。
滚动1880前位置()。顶部,滚动1780后
为什么?
jQuery的position()
返回
在匹配的元素,相对于偏移父的第一个元素的当前坐标。
因此,滚动家长不应该改变位置 ,对吧?
我得到的结果这个小提琴是由100像素滚动父之后, position().top
的100子元素的变化。
滚动1880前位置()。顶部,滚动1780后
为什么?
为了回答您的评论的问题,只需添加框的scrollTop的到锚定元素的位置。
http://jsfiddle.net/5xqEL/17/
var $box = $('#box'),
$anchored = $('#anchored'),
$debug = $('#debug');
$debug.text('position().top before scroll ' + ($anchored.position().top + $box.scrollTop()));
$box.animate({
scrollTop: 100
}).promise().then(function () {
$debug.text($debug.text() + ', after scroll ' + ($anchored.position().top + $box.scrollTop()));
});