他の要素を含む固定高さの 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);
}
両方のアニメーションを機能させるにはどうすればよいですか?