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 js-debug">
    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");
var gaps = [10, 20, 30, 40, 50, 60, 70, 80, 90];
var $debug = $(".js-debug");

function transform(num) {
    var pos = gaps.indexOf(num);

    // skip value from gaps array
    if (pos !== -1) {
        return num - 1;
    }

    return num;
}

$range.ionRangeSlider({
    type: "single",
    min: 0,
    max: 100,
    from: 0,
    prettify: function(num) {
		return transform(num);
    },
    onChange: function(data) {
        $debug.text(transform(data.from));
    }
});