Bootstrap 4 引导scrollspy具有平滑滚动错误目标
我尝试使用引导程序使Scrollspy平滑滚动。这是可行的,但滚动目标是错误的 你可以看到我的小提琴: 如果您单击第二个菜单,它将正常工作,但当您单击第三个菜单时,它不会指向正确的目标 这是我的javascriptBootstrap 4 引导scrollspy具有平滑滚动错误目标,bootstrap-4,smooth-scrolling,scrollspy,Bootstrap 4,Smooth Scrolling,Scrollspy,我尝试使用引导程序使Scrollspy平滑滚动。这是可行的,但滚动目标是错误的 你可以看到我的小提琴: 如果您单击第二个菜单,它将正常工作,但当您单击第三个菜单时,它不会指向正确的目标 这是我的javascript $("#list-example a[href^='#']").on('click', function(e) { // prevent default anchor click behavior event.preventDefault(); // store has
$("#list-example a[href^='#']").on('click', function(e) {
// prevent default anchor click behavior
event.preventDefault();
// store hash
var hash = this.hash;
// animate
$('.scrollspy-example').animate({
scrollTop: $(hash).offset().top
}, 300);
});
更新视频(添加了一些文本):
您的JSFIDLE在Firefox中可以正常工作,但在Chrome中不能正常工作 我用bootstrap的原始链接替换了你所有的js和css链接,以防它们过时,现在它可以在Chrome中使用
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
请在此处查看此JSFIDLE:
我还取出了您的javascript代码,因为它不是必需的。我签出了您的JSFIDLE,但一切正常(单击第三个按钮选择右侧部分)。您对此仍有问题吗?是的,您可以看到或(添加了一些文本)注意:尽管它可以工作,但未正确选择正确的活动链接。我还在研究这个问题。我使用JavaScript使卷轴平滑。。这就是问题所在。。如果我不添加平滑的卷轴,它将与您的一样正常。此答案可能会帮助您: