Как изменить цвет
progress[value]::-webkit-progress-value {
background-color: #00bdf8;
}
при различных значениях, выбранных пользователем когда пользователь выбирает 30%, цвет должен быть красным, при 60% он будет желтым, а затем зеленым
<input type = "range" max = "100" step = "1" class = "inputseekbar" id = "range">
<progress max = "100" id = "progressbarcolor"></progress>
<output for = "range" class = "output"></output>
какой будет JS или Jqueryвведите описание изображения здесь
Тег <output> используется для отображения «%».



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Пожалуйста, проверьте значение 30%
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
<style>
progress {
color: red;
background: green
}
progress::-webkit-progress-value {
background: red;
}
progress::-moz-progress-bar {
background: green;
}
</style>
</head>
<body>
<input type = "range" max = "100" step = "1" class = "inputseekbar" id = "range">
<progress max = "100" value = "30" id = "progressbarcolor"></progress>
<output for = "range" class = "output"></output>
</body>
</html>
Я бы использовал переменную CSS и регулировал значение с помощью JS в зависимости от значения прогресса.
Вот простой пример:
var progress = document.querySelectorAll("progress");
for(var i = 0;i<progress.length;i++) {
var n = 2 * parseInt(progress[i].getAttribute("value"));
progress[i].style.setProperty("--c", "rgb("+n+","+n+",20)");
}progress {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
border: none;
}
progress::-webkit-progress-bar {
background:grey;
}
progress::-webkit-progress-value {
background-color: var(--c,red);
}<progress max = "100" value = "20"></progress>
<progress max = "100" value = "50"></progress>
<progress max = "100" value = "60"></progress>
<progress max = "100" value = "100"></progress>Вы также можете легко сделать это при изменении:
var progress = document.querySelector("progress");
document.querySelector("input").addEventListener('input', function (evt) {
progress.setAttribute('value',this.value);
progress.style.setProperty("--c", "rgb("+2*this.value+","+2*this.value+",20)");
});progress {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
border: none;
}
progress::-webkit-progress-bar {
background:grey;
}
progress::-webkit-progress-value {
background-color: var(--c,red);
}<input type = "range" max = "100" step = "1" class = "inputseekbar" id = "range">
<progress max = "100" value = "50"></progress>Связанный:
Как обновить цвет заполнителя с помощью Javascript?
Выбор псевдоэлементов CSS, таких как ::before и ::after, и управление ими с помощью jQuery
Мой вопрос в другом. Вы определили жестко закодированное значение в теге прогресса HTML. Но я хочу, чтобы когда пользователь перетаскивал этот индикатор выполнения на 30%, цвет должен был измениться.