gpt4 book ai didi

javascript - jQuery srollTop 难题

转载 作者:行者123 更新时间:2023-12-03 06:46:32 30 4
gpt4 key购买 nike

我目前在使用 jQuery 中的scrollTop() 函数时遇到困难。目前,平滑滚动功能正在滚动经过预期部分,然后在功能完成运行后弹回该部分。我在本文末尾添加了一个 jsFiddle,但这是我目前的脚本:

html:

<nav id='menu2' class='menu2'>
<ul>
<li class='marker'></li>
<li class='item2'><a id='step1link' href='#bs1'>Baby Step 1</a></li>
<li class='item2'><a id='step2link' href='#bs2'>Baby Step 2</a></li>
<li class='item2'><a id='step3link' href='#bs3'>Baby Step 3</a></li>
</ul>
</nav>

<div class='content'>
<section class='babystep' id='bs1'>
<h1>Baby Step 1</h1>
<h5>second-title</h5>
<p>content</p>
<p>content</p>
</section>

<section class='babystep' id='bs2'>
<h1>Baby Step 2</h1>
<h5>Pay off all debt using the Debt Snowball</h5>
<p>content</p>
<p>content</p>
</section>

<section class='babystep' id='bs3'>
<h1>Baby Step 3</h1>
<h5>second-title</h5>
<p>content</p>
<p>content</p>
</section>

Javascript:

$(document).ready(function() {
$('a').on('click', function(e) {
if(this.hash !== "") {
e.preventDefault();

const hash = this.hash;

$('.content').animate({
scrollTop: $(hash).offset().top
}, 800, function() {
window.location.hash = hash;
})
}
})
})

我尝试了建议的 $('html,body') 而不是 $('.content'),它只能成功滚动整个页面,而不是包含需要滚动的部分元素的 div。

jsFiddle:https://jsfiddle.net/hollisd09/wa67wLc1/

最佳答案

更改此行:

scrollTop: $(hash).offset().top

进入此:

scrollTop: $(hash).offset().top - $('.content').offset().top + $('.content').scrollTop()

关于javascript - jQuery srollTop 难题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37715175/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com