滚动到视图中时将类添加到元素(可滚动div)

画家约翰

是否存在一种解决方案,可在滚动时将类添加到视图中的元素,而在不可见时删除类?这需要为可滚动的div工作。到目前为止,我已经找到了一些解决方案,但它们似乎只适用于身体……而不是可滚动的div。

如果您知道有一个插件,我很乐意使用。像这样

if ($('.journal-slider .each-slide img').inViewport() ) {
    $(this).addClass('in-view');
} else {
   $('.journal-slider .each-slide img').removeClass('in-view');
}

谢谢,R

德卡乔

您正在寻找的插件称为路标

引用“入门”中的内容:

“比方说,您有一个带有overflow:scroll的div,并且您希望在此可滚动元素内添加一个航路点。context选项允许您执行此操作。滚动下面的框。”

$('#example-context').waypoint(function() {
    notify('Hit top of context');
}, { context: '.example-scroll-div' });

编辑:不使用航路点

根据您已经做的事情,我得出以下结论:

function  checkInView(elem,partial)
{
    var container = $(".scrollable");
    var contHeight = container.height();
    var contTop = container.scrollTop();
    var contBottom = contTop + contHeight ;
 
    var elemTop = $(elem).offset().top - container.offset().top;
    var elemBottom = elemTop + $(elem).height();

    var isTotal = (elemTop >= 0 && elemBottom <=contHeight);
    var isPart = ((elemTop < 0 && elemBottom > 0 ) || (elemTop > 0 && elemTop <= container.height())) && partial ;

    return  isTotal  || isPart ;
}

$(document).ready(function(){
$(".scrollable").scroll(function(){
    var result="",result2="";
   $.each( $(".scrollable p"),function(i,e){
       if (checkInView($(e),false)) {
           $( this ).addClass( "red" );
       } else {
           $( this ).removeClass( "red" );
       }
        result += " " +  checkInView($(e),false);
       result2 += " " +  checkInView($(e),true);
    });
    $("#tt").text(result);
    $("#kk").text(result2);
});
});
.scrollable{
    margin:10px;
    height:100px;
    overflow-y:scroll;
}
p
{
    border-width:1px;
    border-color:black;
    border-style:solid;
}
.red {
    background-color: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
full:  <div id="tt"></div>
part: <div id="kk"></div>
<div class="scrollable">
    <p>item1<span></span></p>
    <p>item2<span></span></p>
    <p>item3<span></span></p>
    <p>item4<span></span></p>
    <p>item5<span></span></p>
    <p>item6<span></span></p>
    <p>item7<span></span></p>
    <p>item8<span></span></p>
</div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

当元素滚动到视图中时,jQuery Waypoints添加类

来自分类Dev

Chrome-将元素添加到* ngFor视图时,始终向下滚动到最后一个元素

来自分类Dev

滚动到另一个元素时尝试将class添加到元素

来自分类Dev

当用户滚动到元素上方50px时,将元素添加到元素中?

来自分类Dev

将片段添加到滚动视图

来自分类Dev

向上和向下滚动时将类添加到视口 Div

来自分类Dev

向上和向下滚动时将类添加到 div

来自分类Dev

如何防止将新视图添加到内容布局时滚动视图滚动

来自分类Dev

滚动到可滚动div中的元素

来自分类Dev

当元素的底边滚动到视图中时使它们固定

来自分类Dev

当表格位于带有jQuery的可滚动div中时,如何使表格行滚动到视图中?

来自分类Dev

如何将列表的活动元素滚动到视图中?

来自分类Dev

如何将列表的活动元素滚动到视图中?

来自分类Dev

JavaScript-将溢出的列表元素滚动到视图中

来自分类Dev

当虚拟键盘覆盖页面时,如何使页面将输入元素滚动到视图中?

来自分类Dev

将div项目滚动到按键上的视图中

来自分类Dev

硒元素无法滚动到视图中

来自分类Dev

我想向一个元素添加一个事件侦听器,当相应的元素滚动到视图中时将触发该事件

来自分类Dev

将子视图添加到UIWebView的内部滚动视图

来自分类Dev

当用户向下滚动X像素数量时,将一个类添加到div

来自分类Dev

添加新元素时如何滚动到div的底部

来自分类Dev

将滚动视图添加到android布局

来自分类Dev

动态将滚动视图添加到线性布局

来自分类Dev

将滚动视图添加到android布局

来自分类Dev

swift无法将按钮动态添加到滚动视图

来自分类Dev

在driver.execute_script()中使用伪选择器时,无法将某些元素滚动到视图中

来自分类Dev

将 CSS 滚动添加到定位元素

来自分类Dev

滚动到div时添加类,滚动到jQuery中的另一个div时删除类

来自分类Dev

滚动视图问题 - 将行添加到滚动视图后,scroll_y 不更新

Related 相关文章

  1. 1

    当元素滚动到视图中时,jQuery Waypoints添加类

  2. 2

    Chrome-将元素添加到* ngFor视图时,始终向下滚动到最后一个元素

  3. 3

    滚动到另一个元素时尝试将class添加到元素

  4. 4

    当用户滚动到元素上方50px时,将元素添加到元素中?

  5. 5

    将片段添加到滚动视图

  6. 6

    向上和向下滚动时将类添加到视口 Div

  7. 7

    向上和向下滚动时将类添加到 div

  8. 8

    如何防止将新视图添加到内容布局时滚动视图滚动

  9. 9

    滚动到可滚动div中的元素

  10. 10

    当元素的底边滚动到视图中时使它们固定

  11. 11

    当表格位于带有jQuery的可滚动div中时,如何使表格行滚动到视图中?

  12. 12

    如何将列表的活动元素滚动到视图中?

  13. 13

    如何将列表的活动元素滚动到视图中?

  14. 14

    JavaScript-将溢出的列表元素滚动到视图中

  15. 15

    当虚拟键盘覆盖页面时,如何使页面将输入元素滚动到视图中?

  16. 16

    将div项目滚动到按键上的视图中

  17. 17

    硒元素无法滚动到视图中

  18. 18

    我想向一个元素添加一个事件侦听器,当相应的元素滚动到视图中时将触发该事件

  19. 19

    将子视图添加到UIWebView的内部滚动视图

  20. 20

    当用户向下滚动X像素数量时,将一个类添加到div

  21. 21

    添加新元素时如何滚动到div的底部

  22. 22

    将滚动视图添加到android布局

  23. 23

    动态将滚动视图添加到线性布局

  24. 24

    将滚动视图添加到android布局

  25. 25

    swift无法将按钮动态添加到滚动视图

  26. 26

    在driver.execute_script()中使用伪选择器时,无法将某些元素滚动到视图中

  27. 27

    将 CSS 滚动添加到定位元素

  28. 28

    滚动到div时添加类,滚动到jQuery中的另一个div时删除类

  29. 29

    滚动视图问题 - 将行添加到滚动视图后,scroll_y 不更新

热门标签

归档