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