javascript - 更改滚动元素的颜色
问题描述
我有一个带有徽标和一些文字的固定标题。这些元素目前是白色的。(背景颜色:#fff)
当我向下滚动时,部分会出现不同的背景颜色:
white
black
black
white
green
etc.
我想根据标题当前所在的部分更改标题中元素的颜色。我可以使用混合模式(白色/黑色)来做到这一点,但我也有绿色部分。我也可以通过检查视图中的部分然后更改颜色来做到这一点。
但我想知道是否有某种方法可以通过 javascript 获取当前位于标题下方的元素(位于 div 下方的 div)。在下面,我在视觉上喜欢下面的 z-index。
如果是这样,我还可以获得元素的 css 样式。有任何想法吗?
解决方案
您可以为此使用document
'scroll
事件。
然后,使用' window
s可以确定滚动了多远。pageYOffset
scrollMaxY
var maxOffset = window.scrollMaxY;
function onScroll(event) {
let offset = window.pageYOffset;
let color = "#"+(Math.round(offset/maxOffset*9))+"00000";
document.getElementById("example").style = "color:"+color+";";
}
document.addEventListener('scroll', onScroll);
<p id="example" style="foreground-color:#FF0000">Color!</p>
推荐阅读
- asp.net-core - Kubernetes Cert-Manager 无法让 http01 ACME challange 工作
- c++ - 访问数组中的不同元素
- javascript - 使用来自 elasticsearch 的通配符搜索完整和部分文本值
- performance - 核心图像:当从滑块改变强度时,照片效果在真实 iPhone 中反应/变化缓慢
- c# - 消除List中的重复并总结数量字段
- python - AttributeError:模块“tensorflow”在 conda 提示符中没有属性“keras”
- r - 使用逐步回归查找指定数量的预测变量
- c++ - 使用具有两个数字的 C++ 最短路径算法。(c++)
- google-chrome-extension - 将数据从内容脚本发送到网页
- jmeter - 函数助手中的 JMeter __chooseRandom 不起作用