【问题标题】:Scrolling to and vertically centering an element inside a div with jQuery使用jQuery滚动到div内的元素并垂直居中
【发布时间】:2019-02-03 08:47:07
【问题描述】:

我正在尝试滚动到 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问题开始的。

【问题讨论】:

    标签: jquery html css scroll


    【解决方案1】:
    jQuery('#editor').animate({
        scrollTop: offset
      }, 1000);
    });
    

    您忘记使用条件 offset 值。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-20
    • 2015-02-11
    • 2017-07-12
    • 1970-01-01
    • 2017-11-25
    • 2011-11-22
    • 1970-01-01
    相关资源
    最近更新 更多