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">
<div class="range-slider">
    <input type="text" class="js-range-slider" value="" />
</div>
<div class="extra-controls">
    Placeholder for some buttons to change slider behavior
</div>

CSS

html {
    height: 100%;
}
body {
    height: 100%;
    overflow: hidden;
    margin: 40px;
    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");

$range.ionRangeSlider({
    type: "single",
    min: 0,
    max: 100,
    from: 0,
    grid: true,
    grid_num: 20,
    prettify: function (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));
        }
    }
});