Javascript 在输入范围上悬停时显示时间

Javascript 在输入范围上悬停时显示时间,javascript,html,video,Javascript,Html,Video,你知道youtube上的那个东西,当你把鼠标悬停在seek slider的某个部分时,它会显示你正在悬停的时间码。我想获取该值并将其显示在该滑块的标题属性中。我怎么做 收听滑块上的输入事件以更改标题属性 这里有一个例子 var slider=document.querySelector('input[type=“range”]”); //设置初始值 slider.title=slider.value; //将侦听器添加到输入事件 slider.addEventListener('input'

你知道youtube上的那个东西,当你把鼠标悬停在seek slider的某个部分时,它会显示你正在悬停的时间码。我想获取该值并将其显示在该滑块的标题属性中。我怎么做


收听滑块上的
输入
事件以更改标题属性

这里有一个例子

var slider=document.querySelector('input[type=“range”]”);
//设置初始值
slider.title=slider.value;
//将侦听器添加到输入事件
slider.addEventListener('input',函数(e){
e、 target.title=e.target.value;
})

这是一个纯javascript+css解决方案。只有一个问题:除非您将滑块放大,否则显示的数字将不是您单击滑块时将在滑块上设置的实际值。这是因为鼠标所在的坐标与滑块将在该位置设置的值不对应

var slider=document.getElementById(“slider”);
var slidertitle=document.getElementById(“slidertitle”);
var sliderOffsetX=slider.getBoundingClientRect().left-document.documentElement.getBoundingClientRect().left;
var sliderOffsetY=slider.getBoundingClientRect().top-document.documentElement.getBoundingClientRect().top;
var sliderWidth=slider.offsetWidth-1;
slider.addEventListener('mousemove',函数(事件){
var currentMouseXPos=(event.clientX+window.pageXOffset)-sliderOffsetX;
var sliderValAtPos=Math.round(currentMouseXPos/sliderWidth*100+1);
//这个。。。
如果(sliderValAtPos<0)sliderValAtPos=0;
//…这是为了更容易在“0”和“100”位置悬停
如果(SliderAlatPos>100)SliderAlatPos=100;
slidertite.innerHTML=sliderValAtPos;
slidertite.style.top=sliderOffsetY-15+'px';
slidertitle.style.left=currentMouseXPos+'px';
});
#滑块{
边缘顶部:10px;
}
#滑块{
显示:无;
位置:绝对位置;
游标:默认值;
排名:0;
左:0;
}
#容器:悬停>#滑块{
显示:块;
}


更新了问题。请阅读我的编辑,这很重要。哦,快。真可惜。但不管怎样,谁在乎呢?我只是想让一个视频播放器看起来更酷。我想我有一个丑陋的解决方案来始终显示正确的价值,但我现在无法尝试。我的解决方案更好吗?函数名
sliderHoverValue
在井上,它看起来相当准确(也因为滑块较大),但大多数时候它显示的值比实际值少1秒,因此您可能应该从最终数字中减去1。但有时只差2秒。