ion.rangeSlider test playground
by Denis Ineshin
HTML
<script src="https://cdn.jsdelivr.net/npm/[email protected]/js/ion.rangeSlider.min.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/css/ion.rangeSlider.min.css">
<div class="range-slider">
<input type="text" class="js-range-slider" value="" />
</div>
<div class="buttons">
<button class="minus js-btn-minus">[-]</button>
<button class="plus js-btn-plus">[+]</button>
</div>
CSS
body {
margin: 60px;
font-family: Arial, sans-serif;
font-size: 12px;
}
.range-slider {
position: relative;
height: 80px;
}
.buttons {
display: flex;
justify-content: space-between;
}
.buttons > button {
font-size: 20px;
padding: 10px;
}
JavaScript
var $range = $(".js-range-slider"),
$btn_minus = $(".js-btn-minus"),
$btn_plus = $(".js-btn-plus"),
min = 100,
max = 200,
step = 10,
from = 150;
$range.ionRangeSlider({
grid: true,
type: "single",
min: min,
max: max,
step: step,
from: from,
onFinish: function(data) {
from = data.from;
}
});
$btn_minus.on("click", function() {
updateRange(-1);
});
$btn_plus.on("click", function() {
updateRange(1);
});
var range_instance = $range.data("ionRangeSlider");
var updateRange = function(direction) {
from += step * direction;
if (from < min) {
from = min;
} else if (from > max) {
from = max;
}
range_instance.update({
from: from
});
};