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>

CSS

body {
    margin: 60px;
    font-family: Arial, sans-serif;
    font-size: 12px;
}
.range-slider {
    position: relative;
    height: 80px;
}

JavaScript

var $range = $(".js-range-slider");

function changeNumber (num) {
    var limit_1 = 50;
    var limit_1_max = 10;

    var limit_2 = 100;
    var limit_2_min = limit_1_max;
    var limit_2_max = 100;

    if (num < limit_1) {
        var pers = num / limit_1 * 100;
        return Math.round(limit_1_max / 100 * pers);
    } else if (num >= limit_1) {
        var pers = (num - limit_1) / (limit_2 - limit_1) * 100;
        return Math.round(limit_2_min + ((limit_2_max - limit_2_min) / 100 * pers));
    }
}

$range.ionRangeSlider({
	skin: "modern",
    type: "single",
    min: 0,
    max: 100,
    from: 0,
    grid: true,
    grid_num: 20,
    prettify: changeNumber
});