我的导航栏出了问题。我只需要从li
中删除活动类,以便在滚动时将此类放到第二个li
,这里是代码:
$(window).scroll(function () {
if ($(this).scrollTop() >= 650) {
$('#about').addClass("active");
} else {
$('#home').removeClass("active");
}
});
答案 0 :(得分:2)
removeClass()
个#home
addClass()
#about
$(window).scroll(function() {
if ($(this).scrollTop() >= 650) {
$('#about').addClass("active");
$('#home').removeClass("active");
} else {
$('#about').removeClass("active");
$('#home').addClass("active");
}
});
个$(window).scroll(function () {
if ($(this).scrollTop() >= 650) {
$('#about').addClass("active");
$('#home').removeClass("active");
} else {
$('#about').removeClass("active");
$('#home').addClass("active");
}
});
,.fixed{
position : fixed;
top: 0;
left:0;
right:0;
}
.long{
height : 5000px;
}
.active{
background : red;
}
因此,以下代码将起作用:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="fixed">
<div id="home" class="active">Home</div>
<div id="about">About</div>
</div>
<div class="long"></div>
工作演示
{
context: __dirname + "/app",
entry: "./entry",
output: {
path: __dirname + "/dist",
filename: "bundle.js"
}
}
{{1}}
{{1}}
答案 1 :(得分:1)
基于您认为不够详细的问题,让我们来看看您的代码&#34;
$(window).scroll(function () {
if ($(this).scrollTop() >= 650) {
$('#about').addClass("active");
//This is when you add class active, but you have to remove class active
//from #about as well
} else {
$('#home').removeClass("active");
//Same thing here, you have to remove class active from #about
}
});
如果你不从另一个元素中删除活动类,在向上和向下滚动之后你最终会在两个元素中激活类。希望我能正确阅读你的问题并回答你的问题。