JS在滚动上添加类

时间:2017-03-27 07:30:55

标签: javascript jquery

- - - - - 更新 - - - - -

您好,我已使用此代码if (isScrolledIntoView(this) === true) {替换了以下代码if (scroll >= 500) {,但不再添加该类。另外,500不是像素值而不是视口高度的百分比?此外,这个解决方案是否有助于我在下面描述的第一个问题?

如果我将这两个问题分成两个问题,请告诉我。我过去只发过每个发布的单一问题。

感谢。

- - - - - 结束更新 - - - - -

正在寻找一些Javascript帮助,我现在正在向一个元素添加一个类,当它滚动到视图中但是有一些问题。

第一个问题是当元素垂直大于视口高度时,不会添加类。

第二个问题是,当元素位于页面的中间位置时,类正在被添加,我正在寻找是否有一种方法来添加类,当元素被滚动到视图中时进一步向上页?理想情况下,我希望将此值指定为视口高度的百分比,因为我建筑物的网站具有响应性。这可能吗?

$(window).scroll(function () {
    $('.fade').each(function () {
        if (isScrolledIntoView(this) === true) {
            $(this).addClass('fadeInTransition')
        }
        else{
            //$(this).removeClass('fadeIn')
        }
    });
});
function isScrolledIntoView(elem) {
    var docViewTop = $(window).scrollTop();
    var docViewBottom = docViewTop + $(window).height();

    var elemTop = $(elem).offset().top;
    var elemBottom = elemTop + $(elem).height();

    return ((elemBottom <= docViewBottom) && (elemTop >= docViewTop));
}

感谢您的时间

百里

1 个答案:

答案 0 :(得分:1)

这已经解决了:

Add/remove class with jquery based on vertical scroll?

只需用估算值替换500