我知道这有点老了,但我认为其他人可能会发现我感兴趣的解决方案(或者至少告诉我为什么它是垃圾)。
我基本上使用 JQuery 在用于滑块手柄的span
元素内插入一个元素。每次使用滑块事件移动句柄时,都会更新a
的内容。span 本身是使用 css 设置样式的,因此它仅在悬停在句柄上方时才会显示,并且略高于句柄本身。所以它看起来像这样:span
change

所以,我的滑块被添加到slider-range
类的所有元素中,如下所示:
$(".slider-range").each(function () {
$(this).slider({
range: true,
animate: true,
min: 1,
max: 10,
values: [lower, upper],
change: function () {
// get slider values
var lower = $(this).slider("values", 0);
var upper = $(this).slider("values", 1);
// update spans with slider values
$(this).children("a.ui-slider-handle").first().children("span").html(lower);
$(this).children("a.ui-slider-handle").last().children("span").html(upper);
}
});
// add the span element to the handle
$(this).children("a.ui-slider-handle").html("<span class='Slider_Value'></span>");
});
然后css看起来像这样:
a.ui-slider-handle span.Slider_Value{
position: absolute;
top: -35px;
left: -2px;
border-radius: 5px;
padding: 5px;
border: 1px solid #E6E6E6;
background-color: white;
box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2);
display: none;
}
a.ui-slider-handle:hover span.Slider_Value{
display: block;
}
就这样!请享用