**已关闭。**此问题需要debugging details。当前不接受答案。
编辑问题以包括desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将有助于其他人回答问题。
15小时前关门了。
Improve this question
我想创建一个滑块(输入标签),当用户滑动它时,它会接收输入。该值会被记录下来,并且在100个已经创建的矩形中,100个矩形的“值”会被着色。如果我将滑块设置为76,则76个矩形应该是阴影,所有其他矩形都应该是白色。
const slider = document.querySelector('.slider');
const carsContainer = document.querySelector('.cars-container');
const cars = carsContainer.querySelectorAll('.car');
slider.addEventListener('input', function () {
const sliderValue = slider.value;
console.log(sliderValue);
for (let i = 0; i < sliderValue; i++) {
cars[i].style.backgroundcolor = 'yellow';
}
});
.slider-container {
width: 80%;
margin: 0 auto;
}
.slider {
width: 100%;
}
.cars-container {
display: grid;
grid-template-columns: repeat(10, 1fr);
grid-template-rows: repeat(10, 1fr);
gap: 1rem;
margin: 0 auto;
width: 80%;
}
.car {
--size: 6.2rem;
width: var(--size);
height: calc(var(--size) / 2);
margin: 0 auto;
background-color: #ccc;
border-radius: 1rem;
transition: transform 0.3s ease-in-out;
}
<div class="slider-container">
<input type="range" min="1" max="100" value="5" class="slider" />
</div>
<div class="cars-container">
<!-- 01 -->
<div class="car"></div>
.
.
.
<!-- 100 -->
<div class="car"></div>
</div>
2条答案
按热度按时间c0vxltue1#
下面是一个不需要重新切换内联
background-color
的CSS解决方案:(Note
:has()
仍然是not very well supported)试试看:
llmtgqce2#
当您降低滑块时,您需要将所有其余的矩形更改回白色,否则它们将保持之前的黄色。
您在
backgroundColor
中也有一个错字;案件意义重大。