单击div内的滚动

时间:2017-08-01 14:54:10

标签: javascript jquery html

我有一个包裹块(如侧边栏),里面有一个较小的块。我希望在点击时让较小的块滚动到包装块的顶部(看起来像标题)。

我尝试了很多东西,但没有任何作用,我只是无法理解它必须如何工作的逻辑。

$(".second").click(function() {
  $('.wrap').animate({
      scrollTop: $(".second").offset().top
    }, 'slow');
});

更新:我认为我的问题解释错了。也许这样:想象一下很长的联系人列表,当你点击某个联系人时,所有内容都会滚动,直到这个联系人位于可见区域的顶部。

Updated jsFiddle

抱歉英语不好。

1 个答案:

答案 0 :(得分:2)

您需要确定可滚动div内的元素位置,并将其添加到当前scrollTop值:

scrollTop: $(e.currentTarget).position().top + $('.wrap').scrollTop()

jsfiddle