javascript - 根据滚动条位置更改元素的不透明度
问题描述
我正在尝试根据滚动条的位置更改元素的不透明度,但是该函数总是会在第一个“else if”之后停止,因此元素“C”、“D”、“E”不会发生任何事情该功能仍然检测滚动条位置
$(document).ready(function() {
$(window).scroll(function(event) {
var scroll = $(window).scrollTop();
if (scroll < 600) {
document.getElementById("A").style.opacity = "1";
document.getElementById("B").style.opacity = "0.5";
document.getElementById("C").style.opacity = "0.5";
document.getElementById("D").style.opacity = "0.5";
}
else if (600 <= scroll < 1500) {
document.getElementById("A").style.opacity = "0.5";
document.getElementById("B").style.opacity = "1";
document.getElementById("C").style.opacity = "0.5";
document.getElementById("D").style.opacity = "0.5";
}
else if (1500 <= scroll < 2600) {
document.getElementById("A").style.opacity = "0.5";
document.getElementById("B").style.opacity = "0.5";
document.getElementById("C").style.opacity = "1";
document.getElementById("D").style.opacity = "0.5";
}
else if (2600 <= scroll < 3200) {
document.getElementById("A").style.opacity = "0.5";
document.getElementById("B").style.opacity = "0.5";
document.getElementById("C").style.opacity = "0.5";
document.getElementById("D").style.opacity = "1";
解决方案
你不能做 x < a < y 它必须是 x < a && a < y...
$(document).ready(function() {
$(window).scroll(function(event) {
var scroll = $(window).scrollTop();
if (scroll < 600) {
document.getElementById("A").style.opacity = "1";
document.getElementById("B").style.opacity = "0.5";
document.getElementById("C").style.opacity = "0.5";
document.getElementById("D").style.opacity = "0.5";
}
else if (600 <= scroll && scroll < 1500) {
document.getElementById("A").style.opacity = "0.5";
document.getElementById("B").style.opacity = "1";
document.getElementById("C").style.opacity = "0.5";
document.getElementById("D").style.opacity = "0.5";
}
else if (1500 <= scroll && scroll < 2600) {
document.getElementById("A").style.opacity = "0.5";
document.getElementById("B").style.opacity = "0.5";
document.getElementById("C").style.opacity = "1";
document.getElementById("D").style.opacity = "0.5";
}
else if (2600 <= scroll && scroll < 3200) {
document.getElementById("A").style.opacity = "0.5";
document.getElementById("B").style.opacity = "0.5";
document.getElementById("C").style.opacity = "0.5";
document.getElementById("D").style.opacity = "1";
推荐阅读
- css - 在 Typescript 中为自定义 React 样式组件设置样式?
- ios - 在 Flutter 中使用 sksl 构建后如何分发 ios 应用程序
- .net - 将工件传递给 Azure DevOps 中的 Docker 任务
- javascript - 正则表达式 - 将带有分隔符的字符串分成组
- python - 如何根据不同列的内容格式化 `to_latex()` 输出?
- visual-studio - Visual Studio 2019 中缺少鼠标悬停 API 文档
- python - 返回具有条件的最大子数组的长度的函数
- laravel - Laravel:仅当请求中存在字段时才检查数据库中是否存在字段
- python - 如何修复“选定的轴超出范围”错误 - QComboBox 与巴特沃斯过滤器
- excel - microsoft excel 运行时错误 1004 - 兼容性问题