我从几年前的一篇文章中摘取了这个jquery片段,但我无法将它改编成我想要的内容,只需以某种方式高亮显示左侧导航中的文本,其中div就在视图中,这很可能是非常愚蠢的错误,但我只是想在得到答案方面提供一点帮助。对不起,我是新来的!
html:
<div class="navwrap">
<nav>
<ul>
<li><a href="#two" class="links">PotD </a></li>
<li><a href="#three" class="links">Description </a></li>
<li><a href="#four" class="links">Extra </a></li>
</ul>
</nav>
</div>
<div class="container" id="two">
<div class="container-2-content" id="PotD">
<h2> Aquilegia vulgaris </h2>
<h3> "common columbine" </h3>
</div>
</div>
<div class="container" id="three">
<div class="container-3-content" id="Description">
<h2> Description </h2>
</div>
</div>
<div class="container" id="four" >
<div class="container-4-content" id="Extra">
<h2> Extra </h2>
</div>
</div>css:
li a:hover, li.a.active{
cursor:pointer;
font-size:30px;
font-weight: 600;
color: rgb(255, 253, 234);
border-top: 3px solid rgb(255, 253, 234);
border-bottom: 3px solid rgb(255, 253, 234);
}jquery:
$(document).ready(function(){
var $sections = $('.container');
$(window).scroll(function(){
var currentScroll = $(this).scrollTop();
var $currentSection
$sections.each(function(){
var divPosition = $(this).offset().top;
if( divPosition - 1 < currentScroll ){
$currentSection = $(this);
}
var id = $currentSection.attr('id');
$('').removeClass('active');
$("[href=#"+id+"]").addClass('active');
})
});
});发布于 2020-05-17 14:22:48
很可能你在寻找一种叫做ScrollSpy的东西。引导框架已经准备好了。
https://stackoverflow.com/questions/61853287
复制相似问题