ion.rangeSlider test playground

With html5 skin

by Denis Ineshin

HTML

<script src="http://ionden.com/a/plugins/ion.rangeSlider/static/js/ion-rangeSlider/ion.rangeSlider.js"></script>
<link rel="stylesheet" href="http://ionden.com/a/plugins/ion.rangeSlider/static/css/ion.rangeSlider.css">
<link rel="stylesheet" href="http://ionden.com/a/plugins/ion.rangeSlider/static/css/ion.rangeSlider.skinHTML5.css">
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<div class="range-slider">
    <input type="text" class="js-range-slider" value="" />
</div>
<div class="extra-controls">
    <input type="text" class="js-input" value="0" />
</div>

CSS

html {
    height: 100%;
}
body {
    height: 100%;
    overflow: hidden;
    margin: 40px 15px;
    font-family: Arial, sans-serif;
    font-size: 12px;
}
.range-slider {
    position: relative;
    height: 80px;
}
.extra-controls {
    position: relative;
    border-top: 3px solid #000;
    padding: 10px 0 0;
}

JavaScript

var $range = $(".js-range-slider");
var $input = $(".js-input");
var instance;
var min = 0;
var max = 1000;

console.log($range);

$range.ionRangeSlider({
  type: "single",
  min: min,
  max: max,
  from: 500,
  onStart: function(data) {
    $input.prop("value", data.from);
  },
  onChange: function(data) {
    $input.prop("value", data.from);
  }
});

instance = $range.data("ionRangeSlider");

$input.on("change keyup", function() {
  var val = $(this).prop("value");

  // validate
  if (val < min) {
    val = min;
  } else if (val > max) {
    val = max;
  }

  instance.update({
    from: val
  });
});