Javascript 到达顶部时固定部分。上一节可见时取消固定

Javascript 到达顶部时固定部分。上一节可见时取消固定,javascript,jquery,Javascript,Jquery,我试图在向下滚动时将部分粘贴到浏览器顶部,但当用户向上滚动并且上一个部分重新显示时,我想取消粘贴 我正在检测从顶部到部分的距离我想坚持,但一旦它位于顶部,我们如何检测用户向后滚动,以及上一个部分又回到视图中 我的密码笔: 片段 $(窗口).on('scroll',function(){ var scrollTop=$(窗口).scrollTop(); sectionone=$('section.one').offset().top; sectiontwo=$('section.two').of

我试图在向下滚动时将
部分
粘贴到浏览器顶部,但当用户向上滚动并且上一个
部分
重新显示时,我想取消粘贴

我正在检测从顶部到
部分的距离
我想坚持,但一旦它位于顶部,我们如何检测用户向后滚动,以及上一个
部分
又回到视图中

我的密码笔:

片段

$(窗口).on('scroll',function(){
var scrollTop=$(窗口).scrollTop();
sectionone=$('section.one').offset().top;
sectiontwo=$('section.two').offset().top;
sectiontwodistance=(sectiontwo-滚动顶部);
sectionone距离=(sectionone-滚动顶部);
控制台日志(SectionOne距离);
如果(截面2距离<1){
$('section.two').addClass('fix');
}
});
html,
身体{
宽度:100%;
身高:100%;
}
部分{
身高:100%;
边框:5px纯红;
位置:绝对位置;
宽度:100%;
}
第一节{
z指数:1;
最高:0%;
}
第2节{
边框:5px纯绿色;
z指数:2;
最高:100%;
}
第3节{
z指数:3;
最高:200%;
}
第1.2节修复{
位置:固定;
排名:0;
}

1.
2.
3.

我会将您的jQuery更新为下面的代码段。它根据窗口高度检查第一节的位置,如果小于或等于,则删除
.fix

$(window).on('scroll', function() {
  var scrollTop = $(window).scrollTop();
  sectionone = $('section.one').offset().top;
  sectiontwo = $('section.two').offset().top;
  sectiontwodistance = (sectiontwo - scrollTop);
  sectiononedistance = (sectionone - scrollTop);
  console.log(sectiononedistance);
  if (sectiontwodistance < 1) {
    $('section.two').addClass('fix');
  }

  if (Math.abs(sectiononedistance) <= $(window).height()) {
    $('section.two').removeClass('fix');
  }
});
$(窗口).on('scroll',function(){
var scrollTop=$(窗口).scrollTop();
sectionone=$('section.one').offset().top;
sectiontwo=$('section.two').offset().top;
sectiontwodistance=(sectiontwo-滚动顶部);
sectionone距离=(sectionone-滚动顶部);
控制台日志(SectionOne距离);
如果(截面2距离<1){
$('section.two').addClass('fix');
}
如果(Math.abs(sectiononedistance)你说“Fix
”,但你没有divs。。。