javascript - 当图像位于堆叠层中时,如何检测屏幕上是否存在图像?
问题描述
考虑上面的图表,3 层在同一个容器中相互堆叠。
.container {
position: relative;
}
.layer1, .layer2, .layer3 {
position: absolute;
top: 0;
left: 0;
}
.layer 1 {
z-index: 3;
}
.layer 2 {
z-index: 2;
}
.layer 3 {
z-index: 1;
}
假设每层将在 2 秒后隐藏。所以第 1 层将在 2 秒后不可见,然后第 2 层显示,然后在 2 秒后隐藏层,第 3 层显示。
第 3 层上有一个图像。我想对图像做一些事情——也许应用一些动画效果——在它显示的时候。
在传统布局中,当用户滚动到该区域时,我可以使用 WOW.js 之类的库将类应用于元素。像这样的布局,我不能使用 WOW.js 之类的。
如何检测图像在屏幕上“可见”以便我可以用它做些什么?
编辑:
我意识到这个问题的内容会影响我想要的答案。在我的实际布局中,每个布局都是在用户滚动屏幕时显示的。
我的实际布局受此启发: http ://scrollmagic.io/examples/advanced/section_wipes_manual.html
当用户滚动时,每一层都被显示出来。
解决方案
拿两个:scrollTop
。您会在此处找到一些相关信息/示例,但本质上您可以做的是在用户向下滚动页面时显示您的元素。例如:
if(document.body.scrollTop > x) { /* do something */ }
推荐阅读
- python - 两个区间差的算法是什么?
- swift - 在 SwiftUI 中制作相同宽度和高度的按钮网格
- fortran - 值未使用公共块传递给子程序
- python - 如何创建一个 Python 类,它是另一个类的子类,但 issubclass 和/或 isinstance 测试失败?
- jquery - 将 readOnly 更改为 true 会使 MS Chromium Edge 中的站点崩溃
- javascript - 如何修复导致空对象的循环依赖
- cadence-workflow - 设置第二个值时 MutableSideEffect() 出现恐慌
- string - 在 DrRacket 中,我如何更改使用 if 语句的程序以使用条件语句
- css - 材料设计风格适用于一个模块,但不适用于另一个模块
- java - 为什么枚举不会导致无限递归?