gpt4 book ai didi

javascript - 获取 HTML5 范围 slider 句柄的偏移位置

转载 作者:行者123 更新时间:2023-11-28 00:51:00 26 4
gpt4 key购买 nike

有什么方法可以获取 HTML5 范围输入的 slider 句柄的像素位置?

<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});

总体目标是在 slider handle 随其中的值移动时在 slider handle 上方放置一个“工具提示”。

这是一个 jsFiddle这突出了问题

最佳答案

试试这个

val = slider.val();

// Measure width of slider element. adjust by 15 to account for padding/border
width = slider.width() - 15;

// Calculate percentage between left and right of input
min = slider.attr('min');
max = slider.attr('max');
percent = (val - min) / (max - min);

// Janky value to get pointer to line up better
offset = -3;

// the position of the output
newPosition = width * percent + offset;

slider.next('output')
.css({left: newPosition})
.text(val);

改编自here

关于javascript - 获取 HTML5 范围 slider 句柄的偏移位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53221138/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com