-1

I'm trying to make a number change when the user plays with the "range-slider" but the number does not want to change.

Here is my code:

var rangeSlider = function() {
  var slider = $(".range-slider"),
    range = $(".range-slider__range"),
    value = $(".range-slider__value");

  slider.each(function() {
    value.each(function() {
      var value = $(this).prev().attr("value");
      $(this).html(value);
    });

    range.on("input", function() {
      $(this).next(value).html(this.value);
    });
  });
};

rangeSlider();
<div class="range-slider">
  <input class="range-slider__range" type="range" value="0" min="0" max="100" step="10">
  <span class="range-slider__value">0</span>
</div>
E_net4
  • 27,810
  • 13
  • 101
  • 139
Daniel Logvin
  • 502
  • 7
  • 26

2 Answers2

1

You are missing jQuery, your code is working fine. Check working example:

var rangeSlider = function () {
  var slider = $(".range-slider");
   var range = $(".range-slider__range");
   var value = $(".range-slider__value");

  slider.each(function () {
    value.each(function () {
      var value = $(this).prev().attr("value");
      $(this).html(value);
    });

    range.on("input", function () {
      $(this).next(value).html(this.value);
    });
  });
};

rangeSlider();
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="range-slider">
                    <input class="range-slider__range" type="range" value="0" min="0" max="100" step="10">
                    <span class="range-slider__value">0</span>
</div>

Pure javascript slider:

var rangeslider = document.getElementById("sliderRange"); 
var output = document.getElementById("demo"); 
output.innerHTML = rangeslider.value; 
  
rangeslider.oninput = function() { 
  output.innerHTML = this.value; 
} 
<div class="rangeslider"> 
  <input type="range" min="1" max="100" value="10"
                  class="myslider" id="sliderRange"> 
  <p><span id="demo"></span></p> 
</div> 
Atlas_Gondal
  • 2,512
  • 2
  • 15
  • 25
0

Check Below the resolved version.

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="range-slider">
                    <input class="range-slider__range" type="range" value="0" min="0" max="100" step="10">
                    <span class="range-slider__value">0</span>
</div>




<script type="text/javascript">
  var slider = $(".range-slider"),
    range = $(".range-slider__range"),
    value = $(".range-slider__value");
    
    
var rangeSlider = function(e) {
   let sliderValue = e.target.value;
   console.log(sliderValue)
    $(".range-slider__value").html(sliderValue)
   
};

document.addEventListener("input", rangeSlider)

</script>
MD M Nauman
  • 421
  • 4
  • 10