#javascript #html #jquery #css
#javascript #HTML #jquery #css
Вопрос:
У меня возникли большие проблемы при попытке создать функцию, которая считывает значение, полученное из ползунка, а затем отображает его в разных цветах в соответствии с его значением.
Это код, который у меня есть до сих пор:
function slider() {
document.getElementById("formControlRange").oninput = function() {
percentagem()
};
}
function percentagem() {
var val = document.getElementById("formControlRange").value document.getElementById('formOutput').innerHTML = val
if ($("#formControlRange").val() >=
50) {
$("#formOutput").addClass("alert-sucess");
} else {
$("#formOutput").addClass("alert-danger");
}
}
console.log(val)
}
<div class="form-row">
<div class="form-group col-md-6">
<label for="formControlRange">Com que percentagem recomendaria o Bootstrap a terceiros?</label>
<input type="range" class="form-control-range" id="formControlRange" onchange="slider()" min="0" max="100">
</div>
<div class="form-group col-md-6">
<h1><output id="formOutput" class=""></output></h1>
</div>
</div>
Ответ №1:
Вы должны добавить класс «alert» к своему элементу, если хотите, чтобы «alert-success» и «alert-danger» работали. И вы должны сбрасывать классы каждый раз при изменении значения. Плюс будьте осторожны с точками с запятой и фигурными скобками.
function slider() {
document.getElementById("formControlRange").oninput = function() {
percentagem()
};
}
function percentagem() {
var val = document.getElementById("formControlRange").value;
document.getElementById('formOutput').innerHTML = val;
$("#formOutput").removeClass("alert-sucess alert-danger");
if ($("#formControlRange").val() >= 50) {
$("#formOutput").addClass("alert-success");
} else {
$("#formOutput").addClass("alert-danger");
}
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<div class="form-row">
<div class="form-group col-md-6">
<label for="formControlRange">Com que percentagem recomendaria o Bootstrap a terceiros?</label>
<input type="range" class="form-control-range" id="formControlRange" onchange="slider()" min="0" max="100">
</div>
<div class="form-group col-md-6">
<h1><output id="formOutput" class="alert"></output></h1>
</div>
</div>