Javascript 滚动顶部
Javascript scrollTop
我有这个代码:
jQuery('html, body').animate({
scrollTop: jQuery(".woocommerce-breadcrumb").offset().top
}, 777);
但是当执行时它滚动太多,当没有其他我可以使用的元素时,我怎样才能让它少滚动 30px?
谢谢
有时候,vanilla JS 会做你想做的事。只需使用 scrollIntoView()
:
jQuery(".woocommerce-breadcrumb").get(0).scrollIntoView();
由于您正在滚动到 woocommerce-breadcrumb
元素的 .offset().top
,因此您可以从该偏移量中减去一些像素。
woocommerce-breadcrumb
下方有一个滚动按钮的小例子。单击时,我们将滚动到元素顶部 plus 200px,因此最终滚动将停止在元素顶部 下方 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>
我有这个代码:
jQuery('html, body').animate({
scrollTop: jQuery(".woocommerce-breadcrumb").offset().top
}, 777);
但是当执行时它滚动太多,当没有其他我可以使用的元素时,我怎样才能让它少滚动 30px?
谢谢
有时候,vanilla JS 会做你想做的事。只需使用 scrollIntoView()
:
jQuery(".woocommerce-breadcrumb").get(0).scrollIntoView();
由于您正在滚动到 woocommerce-breadcrumb
元素的 .offset().top
,因此您可以从该偏移量中减去一些像素。
woocommerce-breadcrumb
下方有一个滚动按钮的小例子。单击时,我们将滚动到元素顶部 plus 200px,因此最终滚动将停止在元素顶部 下方 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>