toggleClass或addClass / removeClass可以在所有浏览器上兼容吗?

时间:2018-06-21 18:31:55

标签: javascript jquery function cross-browser

我正在寻找一种替代方法,以实现与.toggleClass()类似的效果,该方法将特定类切换为开/关元素((由于.toggleClass()与Safari似乎不兼容) )

这是我用来实现要在其间切换的类的代码行:

$window.on('scroll', function() {
  div2.toggleClass('show', scrollTop >= (div1_top - window_top_to_div2) && (scrollTop + window.innerHeight) <= (div1_bottom + window_top_to_div2));
});

此外,我在之前的文章中提供了更广泛的摘要,这里为Can toggleClass Work in Safari? (JQuery)

1 个答案:

答案 0 :(得分:0)

如果我正确理解,那应该就是您要寻找的。它使用与您相同的代码,但稍作更改即可使用addClassremoveClass函数而不是toggleClass

$window.on('scroll', function() {

    if (scrollTop >= (div1_top - window_top_to_div2) && (scrollTop + window.innerHeight) <= (div1_bottom + window_top_to_div2)) {

        if (div2.is(":visible")) {
            div2.removeClass('show');
        } else {
            div2.addClass('show');
        }

    }

});