noUiSlider

noUiSlider is a range slider without bloat. It offers a ton off features, and it is as small, lightweight and minimal as possible, which is great for mobile use on the many supported devices, including iPhone, iPad, Android devices & Windows (Phone) 8 desktops, tablets and all-in-ones. It works on desktops too, of course!

Single Slider

<div id="input-slider"></div>

<div class="form-group">
    <input type="text" class="form-control" id="input-slider-value" />
</div>
if($('#input-slider')[0]) {
    var slider = document.getElementById ('input-slider');

    noUiSlider.create (slider, {
        start: [20],
        connect: 'lower',
        range: {
            'min': 0,
            'max': 100
        }
    });

    slider.noUiSlider.on('update', function( values, handle ) {
        document.getElementById('input-slider-value').value = values[handle];
    });
}

Range Slider

<div id="input-slider-range"></div>

<div class="row form-row">
    <div class="col-6">
        <div class="form-group">
            <input type="text" class="form-control" id="input-slider-range-value-1" />
        </div>
    </div>

    <div class="col-6">
        <div class="form-group">
            <input type="text" class="form-control" id="input-slider-range-value-2" />
        </div>
    </div>
</div>
if($('#input-slider-range')[0]) {
    var sliderRange = document.getElementById ('input-slider-range');
    var sliderRangeUpper = document.getElementById('input-slider-range-value-1');
    var sliderRangeLower = document.getElementById('input-slider-range-value-2');
    var sliderRangeInputs = [sliderRangeUpper, sliderRangeLower]

    noUiSlider.create(sliderRange, {
        start: [20, 80],
        connect: true,
        range: {
            'min': 0,
            'max': 100
        }
    });

    sliderRange.noUiSlider.on('update', function( values, handle ) {
        sliderRangeInputs[handle].value = values[handle];
    });
}
Files required:
Type Files
Custom SCSS /src/scss/inc/vendor-overrides/_nouislider.scss
Javascript /src/js/vendors/nouislider.js
Library /resources/vendors/nouislider/nouislider.min.css /resources/vendors/nouislider/nouislider.min.js