Ползунок диапазона позволяет выбрать между минимальным и максимальным значением. Данный элемент повышает интерактивность на сайте. Браузерные ползунки зачастую не подходят, поэтому мы сделаем свой кастомный ползунок. Пример ниже:
Справа выводится число, чтобы показать выбранное значение.
Разметка ползунка диапазона
Важные атрибуты:
- min — минимальное значение
- max — максимальное значение
- step — шаг (на какое число изменяем)
- value — начальное значение
<div class="slider">
<input
type="range"
name="range"
id="range"
class="range"
min="1"
max="20"
step="1"
value="1"
/>
<output class="num">1</output>
</div>
Стилизация ползунка диапазона
.sliders {
width: 400px;
}
.slider {
display: flex;
align-items: center;
user-select: none;
}
.range {
-webkit-appearance: none;
width: 300px;
height: 10px;
background-color: #eee;
border-radius: 20px;
outline: none;
}
.range::-webkit-slider-thumb {
-webkit-appearance: none;
width: 25px;
height: 25px;
background-color: #0081f1;
border-radius: 50%;
cursor: pointer;
box-shadow: 4px 4px 8px 0px rgba(34, 60, 80, 0.2);
}
.num {
font-size: 48px;
margin-left: 30px;
color: #282b31;
}
Скрипт для работы счетчика
С помощью функции getNum можем получить значение счетчика.
const range = document.querySelector(".range");
const num = document.querySelector(".num");
range.addEventListener("input", numUpdate);
function numUpdate(e) {
num.value = range.value;
}
function getNum() {
return range.value;
}