【问题标题】:jQuery: Scroll to the center of the elementjQuery:滚动到元素的中心
【发布时间】:2016-10-28 09:19:31
【问题描述】:

我正在开发一个 jQuery 函数,该函数在单击时滚动到 div。现在它会滚动到顶部,我想知道他们是否可以让它滚动到$('.scrollit') 的中心而不是顶部,或者可能是一种将其偏移一些像素量的方法?

$(".playbox").on('click', function () {
    $('.scrollit').animate({
        scrollTop: $(this).offset().top
    }, 1000);

【问题讨论】:

标签: jquery html scroll


【解决方案1】:

与另一个答案有两个主要区别。如果您添加或删除偏移量,它是相关的,所以我用 minus 交换加号。我使用 screen size 作为参考而不是元素。动画滚动和包裹在一个函数中是可选的。

function scrollTo (id) {
   $('html,body').animate({
      scrollTop: $("#"+id).offset().top - $(window).height()/2
   }, 1000);
}

【讨论】:

    【解决方案2】:

    你可以使用元素的高度。

    scrollTop: $(this).offset().top + $(this).height() / 2;
    

    将元素高度的一半添加到scrollTop以滚动到元素的中心。

    【讨论】:

    • 感谢 Tushar!,我最终修改了您的答案以满足特定需求,但效果很好!我最终做了 scrollTop: $(this).offset().top - $(this).height() 谢谢!
    猜你喜欢
    • 2015-09-03
    • 2019-09-25
    • 1970-01-01
    • 2010-10-04
    • 1970-01-01
    • 2020-06-23
    • 1970-01-01
    • 1970-01-01
    • 2011-07-02
    相关资源
    最近更新 更多