jQuery出现插件-添加if语句

时间:2018-06-30 02:31:06

标签: jquery

我是jQuery的菜鸟,当我向下滚动到特定部分时,我正在尝试向div添加一个类。我发现jQuery出现插件(https://github.com/morr/jquery.appear)可以帮助我做到这一点,但是我试图在其中声明if是否成功。

我的代码如下:

$('#section').appear();
$('#section').on('appear', function() {
  $('.component').addClass('myclass');
});

那很好,但是如果我向上滚动并且该部分不再可见,我就无法弄清楚如何删除该类。我认为,如果部分出现= true,然后是addClass,否则它是removeClass,那将是可行的,但是我不知道如何记下来。

在github插件页面中,还提供了消失选项,但我根本无法使它正常工作。

我知道答案很可能很简单,但是就像我说的我是菜鸟一样,我一直无法弄清楚。任何帮助将不胜感激:)

1 个答案:

答案 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秒钟的阅读中……看起来很完整。