将内容插入到UI滑块手柄-UI Range Slider

时间:2018-09-17 10:03:46

标签: jquery html css jquery-ui rangeslider

我已经使用UI库创建了一个范围滑块。默认情况下,它具有滑块处理程序。该滑块处理程序通过jQuery传递。您可以检查代码段并了解它。现在我想要的是,我想在幻灯片处理程序中放置一些文本,例如

enter image description here enter image description here

到目前为止,我已经以JS和CSS方式进行了尝试,但并没有改变。

CSS方式(将文本创建为PNG并放入伪元素中)

<small style="float: right; position: relative; right: 21px;" class="end-time" onclick="showhideRemaining(this)"></small>

和JS方式(在JS中使用了内部HTML,在jQuery中也尝试了html())。

#slider-range .ui-slider-handle:first-child:before {
  content: url('./images/min.png');
}

我已经阅读了UI文档,但是找不到任何有用的属性来实现此目的。这是我的摘录。

  $('#slider-range .ui-slider-handle:first-child').html('<p>MIN<br><></p>');
  $('#slider-range .ui-slider-handle:last-child').html('<p>MAX<br><></p>');
$(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);
}

1 个答案:

答案 0 :(得分:1)

仅使用CSS

您可以使用pseudo.ui-slider-handle,内容为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>