I have created a range slider using UI library. By default it has it's slider handler. This slider handler is coming through the jQuery. You can inspect the snippet and understand it. Now what I want is, I want to place some text inside the slide handlers like,
So far I have tried this in both JS and CSS way which gave me no change.
CSS way (created the text as a PNG and pushed into a pseudo element)
#slider-range .ui-slider-handle:first-child:before {
content: url('./images/min.png');
}
and JS way (used inner HTML in JS and also tried html() in jQuery).
$('#slider-range .ui-slider-handle:first-child').html('<p>MIN<br><></p>');
$('#slider-range .ui-slider-handle:last-child').html('<p>MAX<br><></p>');
I have gone through the UI documentation, but I couldn't find any helpful attribute to achieve this. Here is my snippet.
$(function() {
$("#slider-range").slider({
range: true,
min: 4500,
max: 8000,
values: [5000, 7500],
slide: function(event, ui) {
$("#amount").val("$" + ui.values[0] + " - $" + ui.values[1]);
}
});
$("#amount").val("$" + $("#slider-range").slider("values", 0) +
" - $" + $("#slider-range").slider("values", 1));
});
.wrapper{
padding:60px;
}
#slider-range>div {
background: #ff6c00;
}
#slider-range .ui-state-default {
background: #ffcc00;
height: 50px;
width: 50px;
top: 50%;
-webkit-transform: translateY(-50%);
-ms-transform: translateY(-50%);
-moz-transform: translateY(-50%);
transform: translateY(-50%);
border-radius: 7px;
box-shadow: 0px 3px 5px 0px rgba(1, 1, 1, 0.23);
}
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<div class="wrapper">
<div id="slider-range"></div>
</div>
With only css
You can use pseudo
to the .ui-slider-handle
with content min/max
$(function() {
$("#slider-range").slider({
range: true,
min: 4500,
max: 8000,
values: [5000, 7500],
slide: function(event, ui) {
$("#amount").val("$" + ui.values[0] + " - $" + ui.values[1]);
}
});
$("#amount").val("$" + $("#slider-range").slider("values", 0) +
" - $" + $("#slider-range").slider("values", 1));
});
.wrapper{
padding:60px;
}
#slider-range>div {
background: #ff6c00;
}
#slider-range .ui-state-default {
background: #ffcc00;
height: 50px;
width: 50px;
top: 50%;
transform: translateY(-50%);
border-radius: 7px;
box-shadow: 0px 3px 5px 0px rgba(1, 1, 1, 0.23);
}
.ui-slider-handle:after{
content:"<>";
font-size:20px;
padding-left: 8px;
position: absolute;
top: 21px;
right: 15px;
}
.ui-slider-handle:before{
content:"min";
font-size:20px;
padding-left: 8px;
}
.ui-slider-handle:last-child:before{
content:"max";
}
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<div class="wrapper">
<div id="slider-range"></div>
</div>