试图获取当前位置的工具提示

Posted

技术标签:

【中文标题】试图获取当前位置的工具提示【英文标题】:Trying to get Tooltip for the Current Position 【发布时间】:2021-07-30 06:53:17 【问题描述】:

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

这里是javascript

$(function() 
  
  var tooltip = $('<div id="tooltip" />').css(
    position: 'absolute',
    top: -25,
    left: -10
).hide();
    $("#client-slider").slider(
      range: "min",
      value: 30,
      min: 15,
      max: 300,
      slide: function(event, ui) 
        $('#client').val(ui.value).trigger("change");
           tooltip.text(ui.value);
      ,
    change: function(event, ui) 
).find(".ui-slider-handle").append(tooltip).hover(function() 
    tooltip.show();
, function() 
    tooltip.hide();
);
    );
    $("#client").val($("#client-slider").slider("value"));
  

这里是 html/css:

<input type="text" id="client" style="width:50px;text-align:center"/>
<div id="slider"></div>​

我收到一个错误,无法在我的滑块上显示工具提示

**请注意它不是任何现有问题的重复 - 我试图从这个 answer 获得帮助,但都是徒劳的

【问题讨论】:

【参考方案1】:

从旧帖子中获取答案通常是个坏主意。这个实现更新了很多,也没有那么复杂:

document.getElementById("slider").addEventListener("input", function(event) 
  document.getElementById("budget").value = event.target.value;
)
<input type="text" id="budget" style="width:50px;text-align:center"/>
<input id="slider" type="range" min="15" max="300" value="15"/>

完整代码:

<input type="text" id="budget" style="width:50px;text-align:center"/>
<input id="slider" type="range" min="15" max="300" value="15"/>

<script type="text/javascript">
    document.getElementById("slider").addEventListener("input", function(event) 
        document.getElementById("budget").value = event.target.value;
    )
</script>

对于基于 answer 的 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/1000)*100 + "%");
        $( "#client" ).val((ui.value/1000)*100 + "%");
    ,
    change: function(event, ui) 
).find(".ui-slider-handle").append(tooltip).hover(function() 
    tooltip.show()
, function() 
    tooltip.hide()
)
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.9.2/themes/smoothness/jquery-ui.css">

<input type="text" id="client" style="width:50px;text-align:center"/>
<div id="slider" style="margin:50px"></div>
<!-- Get ajax -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.9.2/jquery-ui.min.js"></script>

也可以在fiddle 上试试。

【讨论】:

谢谢@Prosy 基本上我不能使用这个——我已经使用了 Divs 和 jquery-ui 滑块——很多依赖项所以不能切换到任何新的解决方案——有什么办法可以修改我的代码 ?我只想要滑块点上方的工具提示 @SkillUp 这真的有我。我不知道 jqueryui 应该有另一个导入。从来没用过。但现在很好。 非常感谢先生,我们有什么办法可以根据最小值/最大值将其转换为百分比?如果你回复它会很有帮助:) 更新了答案以使值百分比 jsfiddle.net/x7a1ksjr 我试图根据我的价值获得 1-100% 的百分比,但它只会上升到 30%

以上是关于试图获取当前位置的工具提示的主要内容,如果未能解决你的问题,请参考以下文章

在 Google Maps V3 API 标记鼠标悬停时获取鼠标光标的位置

获取用户的当前位置提示[关闭]

使用“position.coords.latitude”试图获取当前位置时,我得到了未定义

在不显示提示信息的情况下,如何获取用户当前位置的经纬度

从应用程序提示启用 gps 后如何刷新并获取当前位置?

如何使用 FusedLocationProviderClient 获取当前位置