div中的粘性元素,滚动上的绝对位置

And*_*ame 13 html javascript css jquery

我有一个divposition: absoluteoverflow: auto.在这里div我有一个div应该表现粘性,top: 0, bottom: 0, overflow: auto当我滚动时应该修复().

我可以解决这个问题div,但我无法将其恢复到原始位置,因为在修复此问题时我无法附加滚动事件div.

$('.right').scroll(function() {
    if ($('.scroll').offset().top <= 0) {
        $('.scroll').css({
            'position': 'fixed',
            'top': 0,
            'left': '20px',
            'right': '0',
            'overflow': 'auto'
        })
    }
})
Run Code Online (Sandbox Code Playgroud)

请查看我的JSFiddle以获取更多信息 - JSFIDDLE

谢谢.

小智 9

我就是这样做的.这不是固定的,但外观相同.一旦scrollTop等于或大于固定内容的顶部"应该",那么我们将topT绝对设置为scrollTop的顶部,如果你在scrollTop到达固定内容的位置时向上滚动,它将会再放下它.

$(document).ready(function() {
  oldOffset = $('.scroll').offset().top;
  $('.right').scroll(function() {
    if ($('.right').scrollTop() > oldOffset) {
      $('.scroll').css({
        'position': 'absolute',
        'top': $('.right').scrollTop(),
        'left': '20px',
        'right': '0',
        'overflow': 'auto'
      });
    }
  });
});
Run Code Online (Sandbox Code Playgroud)

(演示)