【发布时间】:2019-07-25 13:42:29
【问题描述】:
有什么方法可以获取 HTML5 范围输入的滑块句柄的 pixel 位置?
<input type="range" id="combicalc_contribution-slider" min="1" max="50" value="25">
我尝试使用 max、min 和 value 的组合来计算位置,以计算出“沿着轨道”的百分比,但计算值在较低值时向左变化,在较高值时向右变化。
代码如下:
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,它突出了这个问题
【问题讨论】:
标签: javascript html