javascript-获取HTML5范围滑块手柄的偏移位置

有什么方法可以获取HTML5范围输入的滑块手柄的像素位置吗?

<input type="range" id="combicalc_contribution-slider" min="1" max="50" value="25">

我尝试使用最大,最小和最大组合来计算位置.值计算出“沿轨道”的百分比,但是计算得出的值在较低的值向左变化,在较高的值向右变化.

这是该代码:

var sliderWidth = slider[0]['clientWidth'];
var sliderPos = slider[0]['valueAsNumber'] / slider[0]['max'];
jQuery(id).closest('.sliderContainer').append('<div class="sTt">' + val + '</div>');
var sTtWidth = jQuery(id).closest('.sliderContainer').find('.sTt').outerWidth(true) / 2;
var ttPos = (sliderWidth * sliderPos);
ttPos = ttPos - sTtWidth;
ttPos = ttPos + 'px';
jQuery('.sTt').css({'left': ttPos});

总体目标是在滑块手柄上移动值时在滑块手柄上方放置一个“工具提示”.

这是jsFiddle,突出显示了问题

解决方法:

这对我有用:

var slider = $("#combicalc_contribution-slider")[0];
var sliderPos = slider.value / slider.max;

var pixelPostion = slider.clientWidth * sliderPos;
//this is your pixel value
console.log(pixelPostion);

在您的示例中,像素值已针对1到50的值正确计算.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。