ion.rangeSlider - % range demo

by ibroom

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="line">
    <div class="line__item js-line__item">
    
    </div>
</div> -->

CSS

body {
    margin: 60px;
    font-family: Arial, sans-serif;
    font-size: 12px;
}

.range-slider {
    position: relative;
    height: 80px;
}

.line {
    position: relative;
    height: 5px;
    background: #efefef;
}
.line__item {
    position: absolute;
    top: 0; left: 0;
    width: 10%;
    height: 5px;
    background: red;
}

JavaScript

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

$range.ionRangeSlider({
    type: "single",
    min: 0,
    max: 100,
    from: 0,
    hide_min_max: true,
    onStart: update,
    onChange: update,
    onFinish: update,
    skin: "big",
    postfix: '%'
});

function update (data) {
	var percent = data.from_percent - (data.from_percent * 0.1);
	$line.css("left", percent + "%");
}