我有一个包裹块(如侧边栏),里面有一个较小的块。我希望在点击时让较小的块滚动到包装块的顶部(看起来像标题)。
我尝试了很多东西,但没有任何作用,我只是无法理解它必须如何工作的逻辑。
$(".second").click(function() {
$('.wrap').animate({
scrollTop: $(".second").offset().top
}, 'slow');
});
更新:我认为我的问题解释错了。也许这样:想象一下很长的联系人列表,当你点击某个联系人时,所有内容都会滚动,直到这个联系人位于可见区域的顶部。
抱歉英语不好。
答案 0 :(得分:2)
您需要确定可滚动div内的元素位置,并将其添加到当前scrollTop值:
scrollTop: $(e.currentTarget).position().top + $('.wrap').scrollTop()