首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >仅添加滚动到视图中的第一个tme的类

仅添加滚动到视图中的第一个tme的类
EN

Stack Overflow用户
提问于 2018-08-30 03:17:55
回答 1查看 25关注 0票数 0

我只想在第一次滚动到视图中时向div添加一个类。我使用this FIDDLE中的代码在scroll上添加类-但它在每次滚动div进入视图时都会这样做,而不仅仅是第一次。

代码语言:javascript
复制
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));
}

$(window).scroll(function () {
    $('.class').each(function () {
        if (isScrolledIntoView(this) === true) {
            $(this).addClass('in-view')
        }
    });

});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-30 03:22:30

您可以使用辅助类来表示是否不应再次处理某个元素。

代码语言:javascript
复制
$(window).scroll(function() {
  //only check classes that do not have our class flag
  $('.class:not(.previously-in-view)').each(function() {
    if (isScrolledIntoView(this) === true) {
      //add the in-view class and the class flag to exclude it from future logic
      $(this).addClass('in-view').addClass('previously-in-view');
    }
  });
});

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52084656

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档