我是jQuery的菜鸟,当我向下滚动到特定部分时,我正在尝试向div添加一个类。我发现jQuery出现插件(https://github.com/morr/jquery.appear)可以帮助我做到这一点,但是我试图在其中声明if是否成功。
我的代码如下:
$('#section').appear();
$('#section').on('appear', function() {
$('.component').addClass('myclass');
});
那很好,但是如果我向上滚动并且该部分不再可见,我就无法弄清楚如何删除该类。我认为,如果部分出现= true,然后是addClass,否则它是removeClass,那将是可行的,但是我不知道如何记下来。
在github插件页面中,还提供了消失选项,但我根本无法使它正常工作。
我知道答案很可能很简单,但是就像我说的我是菜鸟一样,我一直无法弄清楚。任何帮助将不胜感激:)
答案 0 :(得分:0)
形成文档:
此插件还提供了自定义jQuery过滤器,用于手动检查元素外观。
$('someselector').is(':appeared')
因此,您需要在滚动时测试此条件是否为假:
$(window).on("scroll",function(){
if( !$("#section").is(':appeared') ){
$(".component").removeClass("myclass");
}
});
前面的!
是一个否定运算符...
也来自文档...似乎有一个dissapear
事件...
$('someselector').on('disappear', function(event, $all_disappeared_elements) {
// this element is now outside browser viewport
});
您绝对应该仔细阅读文档。
从我20秒钟的阅读中……看起来很完整。