Javascript 如何从li中删除活动类?
我的导航栏有问题。我只需要从Javascript 如何从li中删除活动类?,javascript,jquery,Javascript,Jquery,我的导航栏有问题。我只需要从li中删除活动类,在滚动时将该类放入第二个li,下面是代码: $(window).scroll(function () { if ($(this).scrollTop() >= 650) { $('#about').addClass("active"); } else { $('#home').removeClass("active"); } }); 对于#homeid,您可以removeClass(),而对于#about元素,您可
li
中删除活动类,在滚动时将该类放入第二个li
,下面是代码:
$(window).scroll(function () {
if ($(this).scrollTop() >= 650) {
$('#about').addClass("active");
} else {
$('#home').removeClass("active");
}
});
对于#home
id,您可以removeClass()
,而对于#about
元素,您可以addClass()
,反之亦然。因此,以下代码将起作用:
$(window).scroll(function() {
if ($(this).scrollTop() >= 650) {
$('#about').addClass("active");
$('#home').removeClass("active");
} else {
$('#about').removeClass("active");
$('#home').addClass("active");
}
});
工作演示
$(窗口)。滚动(函数(){
如果($(this).scrollTop()>=650){
$('#about').addClass(“活动”);
$(“#home”).removeClass(“活动”);
}否则{
$('#about').removeClass(“活动”);
$('#home').addClass(“活动”);
}
});代码>
。已修复{
位置:固定;
排名:0;
左:0;
右:0;
}
.朗{
高度:5000px;
}
.主动{
背景:红色;
}
家
关于
基于您的问题,我认为还不够详细,让我们看看您的代码“
如果您不从另一个元素中删除活动类,在上下滚动后,您会在两个元素中都有活动类。希望我正确阅读您的问题并回答您的问题。您意识到您正在尝试从#home
中删除该类,而该类已添加到#about
,对吗?您能成为一名l吗是否更清楚?请查看removeClass调用是否正确,以便检查选择器是否有正确的元素。(例如,id为“home”的元素是否是要从中删除类“active”的正确元素?)是的,我想从“home”中删除类,将其添加到“abouttoggleClass('active'))@Mohamed Yousef噢,我的不好。谢谢你更正:)这是你的代码所做的…这是正确的一个…你可以用这个更新你的答案..这是你的:)好运气的人。非常感谢:-)虽然我知道这个问题..只是忙着做了些其他的事情..不能正确更新它..你完全欢迎兄弟:-)祝你有一个愉快的一天 :)
$(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
}
});