Jquery 仅当有滚动条且您正在向下滚动时才应用css

Jquery 仅当有滚动条且您正在向下滚动时才应用css,jquery,css,Jquery,Css,这是一个有趣的问题,我真的想知道这是否可能。我有一个可伸缩的div,内容会不断地进出,有时滚动条是必要的,有时不是 在这些情况下,一旦开始向下滚动,就有必要,我想在其上添加一个上边框,以表示与周围内容的分离 有没有css或jQuery解决方案 我的html只是 <div class="scrollableDiv"> <p>Content</p> </div> 向div添加一个id属性,然后通过jQuery添加一个css类(如果有) $('my

这是一个有趣的问题,我真的想知道这是否可能。我有一个可伸缩的div,内容会不断地进出,有时滚动条是必要的,有时不是

在这些情况下,一旦开始向下滚动,就有必要,我想在其上添加一个上边框,以表示与周围内容的分离

有没有css或jQuery解决方案

我的html只是

<div class="scrollableDiv">
  <p>Content</p>
</div>

向div添加一个
id
属性,然后通过jQuery添加一个css类(如果有)

$('myId').addClass('applytoporder')

根据您强调的要求更新

正如Patrick在我制作幻灯片时提到的,您可以使用滚动处理程序

在jquery中,侦听器

.on(“滚动”,处理程序)
的快捷方式

当用户滚动到元素中的其他位置时,将向元素发送滚动事件。它适用于窗口对象,但也适用于可滚动的框架和元素,溢出CSS属性设置为滚动(或当元素的显式高度或宽度小于其内容的高度或宽度时自动)

换句话说,当用户滚动一个带有滚动条的div时,它将触发该div

但是,

…诸如
mousemove
scroll之类的高频事件每秒可以触发数十次,在这种情况下,明智地使用事件变得更加重要

您提到了向下滚动,这需要在事件句柄之间进行计算和存储。这会使您面临使用幼稚的滚动处理程序损害性能的危险

我建议采取以下办法:

  • 不要在
    .scroll
    处理程序本身中进行工作,只需将其用作启动工作的催化剂即可
  • 让滚动处理程序自行移除,这样一旦确定事件是向下滚动,它就不会一直触发
  • 相反,设置超时以重新检查用户是否仍在向下滚动
  • 如果他们停止了滚动,请从相关类中删除css,并将滚动处理程序重新添加到相关DOM元素中,这样如果他们再次滚动,您就可以继续了

  • 我看过那篇文章,它确实是用纯js完成的,我真的在寻找jQuery…我试图确定它们是否已经开始向下滚动
    .scrollableDiv{
      height:42em;
      overflow-x:hidden;
      min-height:42em;
    }