I'm trying to change the icon in response to the volume control (range) element and can't make it work.
My html is:
<div class="slidercontainer fs-4" id="slider-container">
<span style="color:white;"> </span>
<span class="badge rounded-pill bg-warning">Audio Volume</span>
<span style="color:white;"> </span>
<i id="volume_low" class="fa fa-volume-down fa-2x"></i>
<input type="range" min="0" max="2.5" value="0" step="0.1" class="slider" id="myRange">
<i id="volume-up" class="fa fa-volume-up fa-2x"></i>
</div>
... and it is shown correctly in a browser
My javascript is:
// for slider
const slider = document.querySelector("#myRange");
$("#myRange").on("input change", function()
{
const sliderValue = slider.value;
if(sliderValue==0){
console.log('zero', sliderValue );
$('#volume_low').find("i").toggleClass("fa fa-volume-off fa-2x fa fa-volume-down fa-2x");
}else
{
console.log('nonzero', sliderValue);
$('#volume_low').find("i").toggleClass("fa fa-volume-down fa-2x fa fa-volume-off fa-2x");
}
});
// end of for slider
Doesn't work (icon not changing in the leftmost position as required), not showing any errors