javascript - 如何将多个 div 层叠在一起,并且当用户滚动每个 div 时向上移动以显示它后面的那个
问题描述
我想将几个 div 层叠在一起,当用户滚动顶部的 div 时,它会向上滚动以显示其背后的潜水。这是我的意思的图像:
我知道我需要改变文档的自然流动,所以我很可能需要使用绝对位置,但我怎样才能向上滚动每个 div?我尝试在每个具有较低 z-index 的 div 上使用绝对定位,但我不知道如何向上滚动每个。非常感谢任何有关 jQuery/JavaScript 库或 CSS 技巧以实现此目的的指导,或正确方向的一点。
解决方案
我不确定您正在寻找什么效果,但以下内容可能会对您有所帮助。$(window).scroll
您可以使用事件和$(window).scrollTop()
函数来监听窗口的滚动位置。
$(window).scroll(function (e) {
var scroll = $(window).scrollTop();
if (scroll > 120) {
$(".div-1").slideUp();
}
if (scroll > 240) {
$(".div-2").slideUp();
}
});
section {
height: 900px;
}
div {
position: absolute;
left: 0;
top: 0;
display: flex;
align-items: center;
justify-content: center;
padding: 1rem;
width: 10rem;
height: 900px;
font-size: 2rem;
}
.div-1 { background: #faa; }
.div-2 { background: #aff; }
.div-3 { background: #ffa; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<section>
<div class="div-3">3</div>
<div class="div-2">2</div>
<div class="div-1">1</div>
</section>
推荐阅读
- vba - 在两个比较范围内显示单元格值匹配的地址
- python - 如何在python中使用OpenCV拼接多个随机顺序的图像?
- dataframe - Holoviews 多边形输入
- javascript - 如何从javascript中的json数组中删除双引号
- c - 在c代码中取4位数字
- google-app-engine - 将 App Engine Flex 限制为仅在没有 App Engine 防火墙的情况下进行内部访问?
- cognos - Cognos 条形图第二个轴条与第一个轴条重叠
- sql-server - 如何优化存储过程中的游标
- typescript - webpack找不到src,但它不应该在寻找它
- google-app-maker - 将转换器绑定到计算表达式