css - 如何停止滚动比窗口高度长的div?

标签 css sticky

在 #container (position:relative) 内部,我有 2 个 div:都是 50% 宽,#first 非常高 (position:relative),#second 至少 2000px 高。

有什么方法可以让 #second 在到达底部时停止滚动,但继续滚动其他内容吗?如果不为其创建额外的父级 div 就太好了。 fiddle :https://jsfiddle.net/Moor/ha4zybpb/

#container{
    position:relative;
}
#first{
    width:50%;
    background:#333;
    height:10000px;
}
#second{
    position:absolute;
    right:0;
    top:0;
    width:50%;
    height:2000px;
    background:limegreen;
}
<div id="container">
    <div id="first"></div>
    <div id="second"></div>
</div>

最佳答案

jquery“粘性”解决方案..

https://jsfiddle.net/cusjptLr/4/

var sh = $('#second').height();
$(window).scroll(function(){
  if (($(window).scrollTop() + $(window).innerHeight()) >= sh) {
   $('#second').addClass("sticky");
  }
});

#second.sticky {
  position: fixed;
  bottom: 0;
  top: initial;
}

关于css - 如何停止滚动比窗口高度长的div?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43347417/

相关文章:

c++ - 是否有粘性操纵器的官方资源

javascript - 回文检查器 - 无法获得检查短语的功能

html - 悬停没有覆盖导航中的整个 li 元素

javascript - 如何防止列表在带有列间隙的容器内破裂?

javascript - 将函数应用于页面上的所有链接

css - 为什么背景颜色存在时边框不可见 "position: sticky"?

jquery - 在移动设备上查看时,stick div 正在跳跃

css - 如何创建一个位于浏览器窗口侧面的选项卡?

jquery - 如何在 'Auto hiding navbar on scroll down' 上方添加横幅?

html - CSS/HTML 页脚不粘