将溢出div滚动到元素并使其停留在div的基础上

时间:2015-07-19 02:41:33

标签: jquery

我正在尝试滚动溢出div,直到我到达特定元素#id。 我的问题是: 我不希望这个元素“scrollTop”。我想在div底部看到元素时停止滚动。像这样:

enter image description here

我得到的只是滚动的东西......

function scrollItem(itemID) {
    var container = $('#overflowDIV'),
        scrollTo = $(itemID);

    container.animate({
        scrollTop: scrollTo.offset().top - container.offset().top + container.scrollTop()
    }, 100);
}

1 个答案:

答案 0 :(得分:0)

尝试减去容器的内部高度。这是未经测试的代码。

function scrollItem(itemID) {
  var container = $('#overflowDIV'),
    scrollTo = $(itemID);

  container.animate({
    scrollTop: 
      scrollTo.offset().top - 
      container.offset().top + 
      container.scrollTop() -
      container.innerHeight()
  }, 100);
}