Javascript 如何在滚动过去后更改div类,然后在第二次完成相同的滚动操作时将其更改回原始类?

Javascript 如何在滚动过去后更改div类,然后在第二次完成相同的滚动操作时将其更改回原始类?,javascript,jquery,html,Javascript,Jquery,Html,在我的html中,我有一个div,当用户滚动经过它时,它会改变它的类(并且div会消失),这样当用户滚动回页面时,类就会改变 我希望在用户第二次滚动返回时将div类还原为原始类,但就是想不出一种方法。我试图找到一种方法,让它以这样一种方式工作:每次它回到视图时,效果都会重复,类也会交替 我现在用两个脚本来做这件事。第一个选项在用户回滚时起作用并更改div的类: $(函数(){ var scroll1=$(window.scrollTop();//滚动了多少像素 var os1=$('#div1

在我的html中,我有一个
div
,当用户滚动经过它时,它会改变它的类(并且
div
会消失),这样当用户滚动回页面时,类就会改变

我希望在用户第二次滚动返回时将
div
类还原为原始类,但就是想不出一种方法。我试图找到一种方法,让它以这样一种方式工作:每次它回到视图时,效果都会重复,类也会交替

我现在用两个脚本来做这件事。第一个选项在用户回滚时起作用并更改
div
的类:


$(函数(){
var scroll1=$(window.scrollTop();//滚动了多少像素
var os1=$('#div1').offset().top;//到div1顶部的像素
var ht1=$('#div1').height();//div1的高度(以像素为单位)
如果(滚动>os1+ht1){
$('#div1')。removeClass('english')。addClass('japanese');
}
});
但第二个似乎什么也没做:


$(函数(){
var scroll2=$(window.scrollTop();
var os2=$('#div1').offset().top;
var ht2=$('#div1').height();
var class1=document.getElementsByClassName('japanese')[0].className;
如果(滚动>os1+ht1&&class1==“日语”){
$('#div1')。removeClass('japanese')。addClass('english');
}
});

我想这是因为这两个函数的条件相同。 对于第二种情况,使用此选项

if(scroll < os1 + ht1)
if(滚动
第二个脚本的条件似乎有输入错误,这可能是问题所在吗?您使用的是
if(scroll>os1+ht1&&class1='japanese'){…}
但我想应该是
if(scroll>os1+ht1&&class1='japanese'){…}
您好,爱德华多,很抱歉输入错误,但这似乎并不能解决问题:(好的,菲利克斯,很抱歉它不起作用。我修正了打字错误,只是为了说明问题不在那里。非常感谢您的帮助,但很遗憾,这不起作用