如何将滑块步长值设置为一些固定值?
How to set slider step values to some fixed values?
我正在使用 jQuery 滑块开发滑块,我有一个 inout 滑块
<form id="sliderData">
<input id="slider1" type="range" min="0" max="50" step="">
</form>
我希望滑块只设置一些固定值,如[2,30,20,30,35,45]
。所以我无法设置步长值。我试图通过此代码触发事件
$('form#sliderData').change(function () {
alert("Hello");
});
这个事件甚至 firing.Is 无论如何都没有将滑块设置为随机值
事件没有被触发,因为您需要将更改事件挂钩到滑块控件本身,而不是它的父窗体。
您遇到的问题是无法在滑块控件中指定特定步骤。从最小值到最大值,它们必须是相同的步长。要解决这个问题,您可以改为让滑块的值与 JS 数组中的值的索引匹配,并有一个标签显示实际选择的选项。像这样:
var values = [2, 30, 20, 30, 35, 45];
$('#slider1').on('input', e => $('span').text(values[e.target.value]));
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form id="sliderData">
<input id="slider1" type="range" min="0" max="5" value="0">
<span>2</span>
</form>
我正在使用 jQuery 滑块开发滑块,我有一个 inout 滑块
<form id="sliderData">
<input id="slider1" type="range" min="0" max="50" step="">
</form>
我希望滑块只设置一些固定值,如[2,30,20,30,35,45]
。所以我无法设置步长值。我试图通过此代码触发事件
$('form#sliderData').change(function () {
alert("Hello");
});
这个事件甚至 firing.Is 无论如何都没有将滑块设置为随机值
事件没有被触发,因为您需要将更改事件挂钩到滑块控件本身,而不是它的父窗体。
您遇到的问题是无法在滑块控件中指定特定步骤。从最小值到最大值,它们必须是相同的步长。要解决这个问题,您可以改为让滑块的值与 JS 数组中的值的索引匹配,并有一个标签显示实际选择的选项。像这样:
var values = [2, 30, 20, 30, 35, 45];
$('#slider1').on('input', e => $('span').text(values[e.target.value]));
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form id="sliderData">
<input id="slider1" type="range" min="0" max="5" value="0">
<span>2</span>
</form>