price range slider: I have used the price range slider in my HTML page, but i need to add this price range slider in three different sections on same HTML page. but only the first section price slider is working , other two sliders are not working. here is my code
const rangeInput = document.querySelectorAll(".range-input input"),
priceInput = document.querySelectorAll(".price-input input"),
range = document.querySelector(".slider .progress1");
let priceGap = 1000;
priceInput.forEach(input => {
input.addEventListener("input", e => {
let minPrice = parseInt(priceInput[0].value),
maxPrice = parseInt(priceInput[1].value);
if ((maxPrice - minPrice >= priceGap) && maxPrice <= rangeInput[1].max) {
if (e.target.className === "input-min") {
rangeInput[0].value = minPrice;
range.style.left = ((minPrice / rangeInput[0].max) * 100) + "%";
} else {
rangeInput[1].value = maxPrice;
range.style.right = 100 - (maxPrice / rangeInput[1].max) * 100 + "%";
}
}
});
});
rangeInput.forEach(input => {
input.addEventListener("input", e => {
let minVal = parseInt(rangeInput[0].value),
maxVal = parseInt(rangeInput[1].value);
if ((maxVal - minVal) < priceGap) {
if (e.target.className === "range-min") {
rangeInput[0].value = maxVal - priceGap
} else {
rangeInput[1].value = minVal + priceGap;
}
} else {
priceInput[0].value = minVal;
priceInput[1].value = maxVal;
range.style.left = ((minVal / rangeInput[0].max) * 100) + "%";
range.style.right = 100 - (maxVal / rangeInput[1].max) * 100 + "%";
}
});
});
<div class="price-input">
<div class="field">
<input type="number" class="input-min" value="1000">
<div class="separator">-</div>
<input type="number" class="input-max" value="100000">
</div>
</div>
<div class="slider">
<div class="progress1"></div>
</div>
<div class="range-input">
<input type="range" class="range-min" min="1000" max="100000" value="1000" step="100">
<input type="range" class="range-max" min="0" max="100000" value="100000" step="100">
</div>
//second slider
<div class="price-input">
<div class="field">
<input type="number" class="input-min" value="1000">
<div class="separator">-</div>
<input type="number" class="input-max" value="100000">
</div>
</div>
<div class="slider">
<div class="progress1"></div>
</div>
<div class="range-input">
<input type="range" class="range-min" min="1000" max="100000" value="1000" step="100">
<input type="range" class="range-max" min="0" max="100000" value="100000" step="100">
</div>
我正在try 激活所有的价格滑块只有一个脚本文件