Javascript jQuery无法组合2个函数

Javascript jQuery无法组合2个函数,javascript,jquery,Javascript,Jquery,我试图通过以下方式实现这一点: 如果类是.lazy,并且如果在视口中可见,则添加类。已经可见,否则添加类。请进 但如果类是.lazy up,如果在视口中可见,则添加类。已在视口中可见,否则添加类。出现 :) 下面是我的代码,但它只触发第一部分。。。请帮助问题在于您覆盖了所有mods,但在两个滚动函数中都使用它,并且需要不同的值/元素。 使用两个变量并将它们声明为,这样,如果您不小心试图更改它们,就会出现错误 (函数($){ $.fn.visible=函数(部分){ var$t=$(此), $w

我试图通过以下方式实现这一点:

如果类是
.lazy
,并且如果在视口中可见,则添加类
。已经可见
,否则添加类
。请进

但如果类是
.lazy up
,如果在视口中可见,则添加类
。已在视口中可见
,否则添加类
。出现

:)


下面是我的代码,但它只触发第一部分。。。请帮助问题在于您覆盖了
所有mods
,但在两个
滚动
函数中都使用它,并且需要不同的值/元素。
使用两个变量并将它们声明为,这样,如果您不小心试图更改它们,就会出现错误

(函数($){
$.fn.visible=函数(部分){
var$t=$(此),
$w=$(窗口),
viewTop=$w.scrollTop(),
viewBottom=viewTop+$w.height(),
_top=$t.offset().top,
_底部=_顶部+$t.高度(),
compareTop=partial==true?\u底部:\u顶部,
compareBottom=部分===真?\u顶部:\u底部;
返回((compareBottom=viewTop));
};
})(jQuery);
$(函数(){
const win=$(窗口);
常量allLazy=$(“.lazy”);
allLazy.each(函数(i,el){
变量el=$(el);
如果(el.可见(真实)){
el.addClass(“已可见”);
}
});
win.scroll(功能(事件){
allLazy.each(函数(i,el){
变量el=$(el);
if(el.visible(true)&&!el.hasClass(“已可见”)){
el.addClass(“进来”);
}
});
});
const allLazyUp=$(“.lazy up”);
allLazyUp.each(函数(i,el){
变量el=$(el);
如果(el.可见(真实)){
el.addClass(“已可见向上”);
}
});
win.scroll(功能(事件){
allLazyUp.each(函数(i,el){
变量el=$(el);
if(el.visible(true)和&!el.hasClass(“已可见向上”)){
el.addClass(“上来”);
}
});
});
});


有人吗?只要一个提示就好了:)你能提供相关的HTML来复制/测试这个吗?谢谢@sven eberth。这是我的html代码
请将您的问题粘贴到那里,而不是在评论中。太棒了!非常感谢@svenSorry@sven,我刚刚注意到,在您的解决方案中,向上和向下滚动时,已可见的两个类
。向上和
。向上
添加到div中。。。我正在尝试添加
。已可见向上
。出现向上
。如果图像可见,则已可见向上
将添加到页面加载中,对吗?所以你不想添加
。滚动时出现
?或者您想用
替换
。已经可见的
。出现
?第一个选项是:如果图像可见,添加
。已经可见的
(链接到此类,有一个动画)。。。如果不可见,请添加
。出现
(有不同的动画)谢谢谢谢!!!就这样!非常感谢你。它起作用了