Jquery 在锚点之间滚动页面时向div添加或删除类
我正在为我的站点开发一个条件,这样当我将页面滚动到某个锚时,与该锚对应的菜单项会添加或删除某个类 我的问题是,我不能使第一项菜单删除类,当滚动到第二个锚,我认为问题可能是在条件,它可能不是我认为的工作方式,所以我需要你的帮助 为此,我使用jquery,以下是我迄今为止得到的:Jquery 在锚点之间滚动页面时向div添加或删除类,jquery,scroll,anchor,addclass,removeclass,Jquery,Scroll,Anchor,Addclass,Removeclass,我正在为我的站点开发一个条件,这样当我将页面滚动到某个锚时,与该锚对应的菜单项会添加或删除某个类 我的问题是,我不能使第一项菜单删除类,当滚动到第二个锚,我认为问题可能是在条件,它可能不是我认为的工作方式,所以我需要你的帮助 为此,我使用jquery,以下是我迄今为止得到的: jQuery(document).ready(function($) { var target1 = $("#thehotel").offset().top; var target2 = $("#thec
jQuery(document).ready(function($) {
var target1 = $("#thehotel").offset().top;
var target2 = $("#thecity").offset().top;
var interval = setInterval(function() {
// i am not sure if this setInterval method is causing the problem, yet i didn't find any other solution
if ($(window).scrollTop() >= target1 && $(window).scrollTop() < target2) {
$("#menu .item-109 a").addClass("myClass");
$("#menu .item-111 a").removeClass("myClass");
}
else if ($(window).scrollTop() >= target2) {
$("#menu.item-109 a").removeClass("myClass");
$("#menu .item-111 a").addClass("myClass");
}
}, 250);
});
jQuery(文档).ready(函数($){
var target1=$(“#thehotel”).offset().top;
var target2=$(“#thecity”).offset().top;
var interval=setInterval(函数(){
//我不确定这个setInterval方法是否导致了这个问题,但是我没有找到任何其他的解决方案
如果($(窗口).scrollTop()>=target1&&$(窗口).scrollTop()=target2){
$(“#menu.item-109 a”).removeClass(“myClass”);
$(“#menu.item-111a”).addClass(“myClass”);
}
}, 250);
});
如果你觉得我的英语不好,我道歉,那不是我的母语。
多谢各位
我发现了我的错误,是打字错误强>
在这里:
if($(窗口).scrollTop()>=target1&&$(窗口).scrollTop()=target2){
//更改此$(“#menu.item-109 a”).removeClass(“myClass”);
//到这个$(“#menu.item-109 a”).removeClass(“myClass”);
$(“#menu.item-111a”).addClass(“myClass”);
}
代码正在运行,非常抱歉,谢谢大家。祝你今天愉快 很高兴看到你找到了答案。与使用
setInterval()
每隔250ms运行一次代码不同,您可以将事件处理程序附加到窗口,该窗口将在每次滚动时运行您的代码,以便您准确地知道何时输入和离开所需的边界
$(window).on('scroll', function(){
if ($(window).scrollTop() >= target1 && $(window).scrollTop() < target2) {
$("#menu .item-109 a").addClass("myClass");
$("#menu .item-111 a").removeClass("myClass");
}else if ($(window).scrollTop() >= target2) {
//change this
$("#menu.item-109 a").removeClass("myClass");
//to this
$("#menu .item-109 a").removeClass("myClass");
$("#menu .item-111 a").addClass("myClass");
}
});
$(窗口).on('scroll',function(){
如果($(窗口).scrollTop()>=target1&&$(窗口).scrollTop()=target2){
//改变这个
$(“#menu.item-109 a”).removeClass(“myClass”);
//对此
$(“#menu.item-109 a”).removeClass(“myClass”);
$(“#menu.item-111a”).addClass(“myClass”);
}
});
$(window).on('scroll', function(){
if ($(window).scrollTop() >= target1 && $(window).scrollTop() < target2) {
$("#menu .item-109 a").addClass("myClass");
$("#menu .item-111 a").removeClass("myClass");
}else if ($(window).scrollTop() >= target2) {
//change this
$("#menu.item-109 a").removeClass("myClass");
//to this
$("#menu .item-109 a").removeClass("myClass");
$("#menu .item-111 a").addClass("myClass");
}
});