javascript - firewatch 视差效果与上面的另一个 div 内容
问题描述
我正在努力寻找一种方法来设置山脉的视差效果......在页面的顶部和下面的网站内容的 div。我已经尝试过使用 z-index 和位置,但我还没有达到它。
感谢您的回复。
<div id="parallax">
<img class="scene" data-modifier="30" src="https://s.electerious.com/parallaxscene/p0.png">
<img class="scene" data-modifier="18" src="https://s.electerious.com/parallaxscene/p1.png">
<img class="scene" data-modifier="12" src="https://s.electerious.com/parallaxscene/p2.png">
<img class="scene" data-modifier="8" src="https://s.electerious.com/parallaxscene/p3.png">
<img class="scene" data-modifier="6" src="https://s.electerious.com/parallaxscene/p4.png">
<img class="scene" data-modifier="0" src="https://s.electerious.com/parallaxscene/p6.png">
</div>
<div id="test">
<font color="red">This is some text!asdfasd</font>
</div>
document.querySelectorAll('.scene').forEach((elem) => {
const modifier = elem.getAttribute('data-modifier')
basicScroll.create({
elem: elem,
from: 0,
to: 519,
direct: true,
props: {
'--translateY': {
from: '0',
to: `${ 10 * modifier }px`
}
}
}).start()
})
body {
height: 2000px;
background: black;
}
.scene {
position: absolute;
width: 100%;
transform: translateY(var(--translateY));
will-change: transform;
}
解决方案
尝试将您的叠加 div 设置为position:fixed
https://jsfiddle.net/zhyeubg8/
编辑:
如果您希望您的测试 div 与山脉一起滚动,只需将其移动到您的 parallax 内,将其与您希望滚动的图层div
相同,并使用 CSS 定位它。data-modifier
<div id="parallax">
<img class="scene" data-modifier="30" src="https://s.electerious.com/parallaxscene/p0.png">
<img class="scene" data-modifier="18" src="https://s.electerious.com/parallaxscene/p1.png">
<img class="scene" data-modifier="12" src="https://s.electerious.com/parallaxscene/p2.png">
<img class="scene" data-modifier="8" src="https://s.electerious.com/parallaxscene/p3.png">
<img class="scene" data-modifier="6" src="https://s.electerious.com/parallaxscene/p4.png">
<img class="scene" data-modifier="0" src="https://s.electerious.com/parallaxscene/p6.png">
<div id="test" class="scene" data-modifier="0">
<font color="red">This is some text!asdfasd</font>
</div>
</div>
#test {
position: relative;
text-align: center;
top: 50vh;
}
推荐阅读
- javascript - CSRF 是否适用于普通 javascript 和 .net 核心 API 应用程序?
- python - 如何使用 python 运行 Azure CLI 命令?
- tensorflow - 两个并行的 conv2d 层(keras)
- php - macOS php sqlsrv 驱动程序已安装但抛出未知异常
- c++ - Cuda内核中值滤波器中的分段错误
- testing - TestCafe:无法读取未定义的属性“消息”
- django - 根据 Django 中的模型名称动态更改上传位置
- javascript - 无法解析 babel-runtime/regenerator
- javascript - 如何使用而不是reduce()获得相同的结果?
- gcc - newlib-cygwin 构建。没有规则进行目标安装