- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我在一个有几十个 slider 的表单上使用 noUiSlider ( http://refreshless.com/nouislider/ )。我想我可以设置一个类名数组和一个循环,而不是为每个复制/粘贴代码。这样可行;即,它设置了工作 slider 。但是,表单还必须在更新时显示 slider 的值,这是我无法解决的部分。我知道如何用静态值来做,但不知道在循环中......
简化示例:
JavaScript:
var steps = [
'Never',
'Occasionally',
'Frequently',
'Constant'
];
// This array will have many more
var slider_names = [
'slider',
'slider2'
];
var sliders = [];
for (var i = 0; i < slider_names.length; i++) {
sliders.push(document.getElementById(slider_names[i]));
noUiSlider.create(sliders[i], {
start: 0,
connect: 'lower',
step: 1,
range: {
'min': [ 0 ],
'max': [ 3 ]
},
pips: {
mode: 'steps',
density: 100
}
});
sliders[i].noUiSlider.on('update', function(values, handle) {
// ***** Problem line *****
document.getElementById(slider_names[i]+'-value').innerHTML = steps[parseInt(values[handle])];
// ***** Problem line *****
});
}
HTML:
<div id="slider-value"></div>
<div id="slider"></div>
<div id="slider2-value"></div>
<div id="slider2"></div> (etc...)
上面突出显示了问题行......当使用静态值(例如,'slider2-value')时它工作正常,但我似乎无法弄清楚如何在更新事件触发时定位适当的 id ... slider_names[i] 显然不会在那里工作。我可能遗漏了一些明显的东西?谢谢!
最佳答案
我今天也遇到了同样的问题,我使用了下面的代码。
基本上我只是将 slider 的所有值发送到此函数,然后将所有结果推送到一个数组中,然后我可以处理我想要的数据数组。
希望这对你也有一些用处。
var sliders = document.getElementsByClassName('sliders');
for ( var i = 0; i < sliders.length; i++ ) {
noUiSlider.create(sliders[i], {
start: 50,
step: 5,
connect: "lower",
orientation: "horizontal",
range: {
'min': 0,
'max': 100
},
});
sliders[i].noUiSlider.on('slide', addValues);
}
function addValues(){
var allValues = [];
for (var i = 0; i < sliders.length; i++) {
console.log(allValues.push(sliders[i].noUiSlider.get()));
};
console.log(allValues);
}
关于javascript - noUiSlider:创建多个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31463659/
文档说要使用 slider.noUiSlider.get(); 获取当前值。但是如果 slider 有两个 handle (因此有两个值),我如何获得这两个单独的值? 最佳答案 对于有两个 handl
文档说要使用 slider.noUiSlider.get(); 获取当前值。但是如果 slider 有两个 handle (因此有两个值),我如何获得这两个单独的值? 最佳答案 对于有两个 handl
我正在尝试使用 noUISlider 加载多个 slider ,但它不起作用。使用第一个 slider 时,第二个和第三个 slider 的值会发生变化。我该如何重构一个 slider 的代码,以便我
有没有办法显示非数字的最后点数值。例如,显示 0、100、200、300、更多的点数比例 感谢这个伟大的剧本! 最佳答案 以下解决方案有点麻烦,但它可以满足您的需求。 您可以使用 format选项并将
如何从链接的输出中删除小数位 我正在使用此代码 $("#slider_01").noUiSlider({ start: [2000, 24000], connect: true,
我正在使用 noUiSlider 并遵循如何创建自定义格式的教程: noUiSlider.create(sliderFormat, { start: [ 20 ], step: 10, range:
我正在尝试让 noUiSlider 工作,但没有完成第一步。下面是我正在尝试的最简单的文件,它只是给我一个空白屏幕: noUiSlider - Getting Star
所以我花了最后几个小时试图让 NoUISlider 在基本页面上工作,但我似乎无法让它工作。我到处寻找示例代码,但似乎找不到有效的代码。这是我所拥有的: -->
你能帮我解决 noUIslider 问题吗? 我有简单的 slider : noUiSlider.create(slider, { start: 250, ra
我正在使用 nouislider ( https://refreshless.com/nouislider/ ),我想设置变量的范围值。但如果我使用变量值, slider 将不会创建。 jQuery.
这与我关于 nousliders 的第一个问题非常相关:How to update div in Meteor without helper? (这个标题选得不好,因为它不是为了避免帮助者) Jank
一切都在 100 到 1000 的范围内运行,但在 1000 之后该步骤停止运行,告诉我可以做什么? 最佳答案 step 选项仅适用于范围的第一部分。对于后续部分,您可以为每个单独的范围值传递一个数
嘿,我已经检查了有关重置 noUiSlider 的主题,但我找不到处理我的问题的方法。有什么建议吗? reset Update noUiSlider.create($('#product
您可以拿一个look at this Demo吗?让我知道为什么这个垂直 slider 甚至没有出现?原始演示位于This Page但这对我不起作用! $("#sample-showcase").no
是否可以在不修改值的情况下格式化工具提示?显然,这样做会改变迄今为止的值。 tooltips: [true], format: { from: Number, to: function
我试图在网站上添加几个 slider ,但我被卡住了。我直接从他们的网站下载了 nouislider 脚本,在此之前,我将 jQuery 1.8.0 添加到我的网站。这是我制作的: index.htm
我正在尝试设置 noUiSlider。 我的html是 我的javascript var slider = document.getElementById('slider'); noUiSl
我正在使用 noUiSlider 并尝试将 slider 值用作表单输入值(以工作表单发送)。我已经尝试了各种可以在堆栈溢出中找到的示例,但似乎没有任何效果。这是我的 slider 脚本: var
我有一个 slider ,点数从 21 到 30,数字之间有 10 个标记(像尺子),步长为 0.5。有没有办法限制值,所以用户不能低于 21.5 但标记从 21 开始?我不会听 onchange,因
下面是我对 noUiSlider 的使用,我喜欢它,因为它缺少 jQuery。但是,每当我使用从负数开始的范围时, slider 的设置功能似乎就会被破坏。我假设这是 noUiSlider 的一个实际
我是一名优秀的程序员,十分优秀!