I did a similar thing. Below are the related segments of CSS and javascript code to achieve it. Say I want the left side to be green, middle yellow and right red, then
CSS
.irs-line-left { background: #66b032; width: 60%; } .irs-line-mid { background: #FFBF00; } .irs-line-mid:before { content: ''; background-color: #FF0000; position: absolute; left: 54%; top: 0; right: 0; bottom: 0; } .budget-page .irs-line-right { background: #FF0000; width: 40%; } .budget-page .irs-line-mid { width: 0 !important; } .irs-bar { background: #FFBF00; }
Now here is the trick. When you change two points, we need to change the width of the left and right sides to dynamically change the color width.
Javascript section.
var iri_line_left = $(".irs-line-left"); var iri_line_right = $(".irs-line-right"); $("#color-slider").ionRangeSlider({ type: "double", min: 0, max: 100, from: 60, to: 80, grid: true, onChange: function (data) { var leftWidth = Math.ceil(data.from_percent); var rightWidth = 100 - leftWidth;
Hope this helps you.
source share