JQueryUI 滑块 - 当前位置的工具提示

2022-01-24 00:00:00 slider tooltip jquery javascript jquery-ui

目前我有一个滑块和一个小的输入文本框,它会根据您在其上滚动的位置进行更新.

At the moment I have a slider and an small input text box which updates based on where you scroll on it.

这里是javascript:

Here is the javascript:

$("#slider").slider({
    value: 500,
    min: 0,
    max: 1000,
    step: 50,
    slide: function(event, ui) {
        $("#budget").val(ui.value);
    },
    change: function(event, ui) {}
});
$("#budget").val($("#slider").slider("value"));​

这里是 html/css:

And here is the html/css:

<input type="text" id="budget" style="width:50px;text-align:center"/>

<div id="slider"></div>​

但是,带有图形的小文本框位于滑块的顶部看起来有点奇怪,所以我希望它更新其水平位置,使其位于滑块的手柄上方(.ui-slider-句柄)如果可能的话 - 就像一种工具提示.

However it looks a bit odd having the small text box with the figure just at the top of the slider, so I would like it to update its horizontal position so it is above the handle of the slider (.ui-slider-handle) if possible - like a sort of tooltip.

推荐答案

我不确定您是否需要输入字段或只是一种显示文本的方式,但您可以显示这样的工具提示 jsFiddle 示例.

I'm not sure if you need the input field or just a way to display the text, but you can show a tooltip like this jsFiddle example.

jQuery

var tooltip = $('<div id="tooltip" />').css({
    position: 'absolute',
    top: -25,
    left: -10
}).hide();
$("#slider").slider({
    value: 500,
    min: 0,
    max: 1000,
    step: 50,
    slide: function(event, ui) {
        tooltip.text(ui.value);
    },
    change: function(event, ui) {}
}).find(".ui-slider-handle").append(tooltip).hover(function() {
    tooltip.show()
}, function() {
    tooltip.hide()
})​

相关文章