Javascript 滚动顶部

Posted

技术标签:

【中文标题】Javascript 滚动顶部【英文标题】:Javascript scrollTop 【发布时间】:2021-10-02 13:35:54 【问题描述】:

我有这个代码:

    jQuery('html, body').animate(
        scrollTop: jQuery(".woocommerce-breadcrumb").offset().top
, 777);

但是当执行时滚动太多,当没有其他可以使用的元素时,如何使其滚动减少 30px?

谢谢

【问题讨论】:

你拥有的值加 30? 其中任何一个都需要几秒钟来尝试,而不是询问……我强烈建议在询问之前尝试一些事情并做一些研究。 【参考方案1】:

由于您正在滚动到 woocommerce-breadcrumb 元素的 .offset().top,因此您可以从该偏移量中减去一些像素。

小例子是在woocommerce-breadcrumb 下方有一个滚动按钮。点击后,我们将滚动到元素顶部加上 200 像素,因此最终滚动将停止在元素顶部 下方 200 像素处。

$('button').on('click', () => 
  jQuery('html, body').animate(
      scrollTop: jQuery(".woocommerce-breadcrumb").offset().top + 200
  , 777);
);
.woocommerce-breadcrumb 
  height: 3000px;
  border: 1px solid red;
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div class='woocommerce-breadcrumb'>Scroll down for the scroll-button</div>

<button>Scroll</button>

【讨论】:

【参考方案2】:

有时,vanilla JS 会做你想做的事。只需使用scrollIntoView()

jQuery(".woocommerce-breadcrumb").get(0).scrollIntoView();

【讨论】:

以上是关于Javascript 滚动顶部的主要内容,如果未能解决你的问题,请参考以下文章

javascript 滚动顶部

javascript 光滑的滚动顶部

javascript 滚动位置开发顶部

javascript 滚动顶部

javascript [jQuery]平滑滚动到页面顶部

javascript 顶部和底部滚动功能