【发布时间】:2023-03-18 19:23:01
【问题描述】:
我有一个范围滑块,我希望能够为轨道的一部分着色,而不管滑块在哪里。例如,如果滑块位于 1-100 范围轨道上的第 26 个标记上,我想为轨道的 50-60 部分着色。是否可以?
类似:
注意:我要上色的部分(50-60)是一个计算值。代码在CodePen:
var min_slider = document.getElementById("min-slider");
var min_output = document.getElementById("min-output");
min_output.innerHTML = min_slider.value;
min_slider.oninput = function() {
min_output.innerHTML = min_slider.value;
}
.slidecontainer {
width: 100%;
height: 50px;
margin: 0;
position: relative;
pointer-events: none;
}
.slider1 {
width: 100%;
position: absolute;
z-index: 1;
left: 0;
top: 0;
height: 50px;
}
.slider {
-webkit-appearance: none;
-moz-appearance: none;
pointer-events: none;
opacity: 1;
width: 100%;
height: 10px;
border: 0;
border-radius: 5px;
margin: 0;
padding: 0;
background: #d3d3d3;
outline: none;
-webkit-transition: .2s;
transition: opacity .2s;
outline: none;
}
.slider::-webkit-slider-runnable-track {
cursor: default;
outline: 0;
-webkit-appearance: none;
}
.slider::-moz-range-track {
cursor: default;
-moz-appearance: none;
outline: 0;
}
.slider::-webkit-slider-thumb {
-webkit-appearance: none;
appearance: none;
pointer-events: auto;
width: 25px;
height: 25px;
border-radius: 50%;
background: #1BA94C;
cursor: pointer;
}
.slider::-moz-range-thumb {
-moz-appearance: none;
pointer-events: auto;
width: 25px;
height: 25px;
border-radius: 50%;
background: #1BA94C;
cursor: pointer;
}
<h1>Range Slider</h1>
<div class="slidecontainer">
<div class="slider1">
<input type="range" min="1" max="100" value="25" class="slider" id="min-slider">
</div>
<br/>
<p>Value: <span id="min-output"></span></p>
</div>
【问题讨论】:
-
我已经编辑了你的代码。下次,请务必在您的帖子中添加一个最小的、最好可运行的代码 sn-p。
标签: javascript css slider range