0

我有一个高度固定的 div 元素,其中包含其他元素。用户可以滚动浏览 div。我希望用户能够单击按钮并转到可滚动 div 中的特定元素。到目前为止,如果不在顶部,我的代码会将滚动条的位置重置回 0。但是,当处于此状态时,从按钮单击移动到元素的动画不会触发。如果已经在顶部,动画将转到所需的位置

我的代码:

$(document).on('click', '#scrollTo', function() {
  scrollToElement('#goto377', 1000);
});

function scrollToElement(selector, time, verticalOffset) {
  if($('#scolly-div').scrollTop() != 0) {
    $('#scrolly-div').animate({ scrollTop: 0 }, 1);
  }

  time = typeof(time) != 'undefined' ? time : 1000;
  verticalOffset = typeof(verticalOffset) != 'undefined' ? verticalOffset : 0;
  element = $(selector);
  offset = element.offset();
  offsetTop = offset.top + verticalOffset;
  $('#scrolly-div').animate({ scrollTop: offsetTop}, time);
}

我怎样才能让两个动画都工作?

4

0 回答 0