×

Range Slider

Examples

                   
<div class="range-slider">
    <input type="range" class="range" min="0" max="100" step="0.1" value="0" />

    <div class="track bg-grey-300">
        <div class="track-inner bg-cyan-500"></div>
    </div>

    <div class="thumb bg-grey-400"></div>
</div>
                   
                
                    
const range = document.querySelector('.range')
const thumb = document.querySelector('.thumb')
const track = document.querySelector('.track-inner')

const updateSlider = (value) => {
    thumb.style.left = `${value}%`
    thumb.style.transform = `translate(-${value}%, -50%)`
    track.style.width = `${value}%`
}

range.oninput = (e) =>
    updateSlider(e.target.value)

updateSlider(50) // Init value