我正在使用jquery scrollTop(),我有一些问题
这是HTML
<a class="jumper" href="#first">Jump</a>
<div class="first"></div>
<div id="second"></div>
<div id="third"></div>
<div id="fourth"></div>
<div id="fifth"></div>
和Jquery
$(document).ready(function () {
$('.jumper').click(function () {
$('html, body').animate({
scrollTop: $("#fourth").offset().top
}, 2000);
});
});
它工作正常,但我需要的是,不要将元素#third滚动到页面顶部,只是将它滚动到几个像px一样小的像100px,因为我想在之前的元素中留下一些东西要看那可能吗?
这是工作小提琴
我想留下黄色元素大约100px?
答案 0 :(得分:4)
请注意,可能有更好的解决方案......但首先要考虑的是减去100个。
$("#fourth").offset().top - 100
offset()。top返回一个没有'px'部分的数字,所以做offset()。top - 100应该可以正常工作。 (https://api.jquery.com/offset/)
答案 1 :(得分:2)
是的,尝试使用以下解决方案,它将适合您。在这里你可以设置你想要的任何值而不是100。
$(document).ready(function () {
$('.jumper').click(function () {
$('html, body').animate({
scrollTop: $("#fourth").offset().top - 100
}, 2000);
});
});