我正在尝试滚动到div中的元素,并将其垂直居中于div。
到目前为止,我已经尝试了code,但没有运气。
jQuery(document).on('click', '#scroll_button', function(e) {
var el = $( "#scroll_test" );
var elOffset = el.offset().top;
var elHeight = el.height();
var windowHeight = $("#editor").height();
var offset;
if (elHeight < windowHeight) {
offset = elOffset - ((windowHeight / 2) - (elHeight / 2));
}
else {
offset = elOffset;
}
jQuery('#editor').animate({
scrollTop: $("#scroll_test").offset().top
}, 1000);
});
我正在使用这个example,但它不是按照小提琴的方式工作的。滚动获取元素位于保持元素顶部的位置。我想把它放在垂直中心。
我还了解到使用jQuery获取元素的高度可能不准确,应该使用纯js,但我没有运气also。
我最初是从this问题开始的。
答案 0 :(得分:1)
jQuery('#editor').animate({
scrollTop: offset
}, 1000);
});
您忘记使用条件offset
值。