jQuery.each()替换项,用于在UI滑块上查找第n个匹配值
问题:我正在使用使用非常大的值(范围0-140000;步骤20000)的jQuery UI滑块,我修改了堆栈溢出上其他地方找到的解决方案,以向滑块添加标签。但是,该代码(见下文)为140000范围内的每个数字添加了一个标签。是否有一个替代.each()方法的方法只为每个x元素添加一个标签(我正在尝试每20000个值添加一个标签)?或者有人能推荐一种更聪明的方法来解决这个问题吗 Javascript:jQuery.each()替换项,用于在UI滑块上查找第n个匹配值,jquery,jquery-ui,traversal,jquery-ui-slider,each,Jquery,Jquery Ui,Traversal,Jquery Ui Slider,Each,问题:我正在使用使用非常大的值(范围0-140000;步骤20000)的jQuery UI滑块,我修改了堆栈溢出上其他地方找到的解决方案,以向滑块添加标签。但是,该代码(见下文)为140000范围内的每个数字添加了一个标签。是否有一个替代.each()方法的方法只为每个x元素添加一个标签(我正在尝试每20000个值添加一个标签)?或者有人能推荐一种更聪明的方法来解决这个问题吗 Javascript: $( "#slider" ).slider({ range: "min", va
$( "#slider" ).slider({
range: "min",
value: 0,
min: 0,
max: 7,
step: 1
})
.each(function() {
//
// Add labels to slider whose values
// are specified by min, max and whose
// step is set to 1
//
// Get the options for this slider
var opt = $(this).data().uiSlider.options;
// Get the number of possible values
var vals = opt.max - opt.min;
// Space out values
for (var i = 0; i <= vals; i++) {
var el = $('<label>'+(i+1)+'</label>').css('left',(i/vals*100)+'%');
$( "#slider" ).append(el);
}
});
$(“#滑块”).滑块({
射程:“分钟”,
值:0,
分:0,,
最高:7,
步骤:1
})
.each(函数({
//
//将标签添加到其值的滑块
//由最小值、最大值和
//步骤设置为1
//
//获取此滑块的选项
var opt=$(this).data().uiSlider.options;
//获取可能值的数目
var VAL=opt.max-opt.min;
//分隔值
对于(var i=0;i,您应该在滑块选项中定义实际范围:
$("#slider").slider({
range: "min",
value: 0,
min: 0,
max: 140000,
step: 20000
})
然后使用步骤
选项作为循环中的增量:
for (var i = 0; i <= vals; i += opt.step) {...}
用于(var i=0;我很难理解最终结果应该是什么,但我要指出的是,在for循环中,你不一定要增加1。@Snowburn,因为我的滑块最小范围为0,最大范围为140000,步数为20000,所以我试图得到一个只有8个标签的滑块:一个为0,一个为20000,等等,高达140000。为什么要对每个对象进行迭代以查找每个20k对象?为什么不只选择每个20k对象?或者按20k增量i?i+=20000
@KevinB,这就是我想做的,只是不确定使用哪种方法或如何修改for循环来实现it@Marcatectura:对于(变量i=0;i
$("#slider").slider({
range: "min",
value: 0,
min: 0,
max: 140000,
step: 20000
}).each(function () {
//
// Add labels to slider
//
// Get the options for this slider
var opt = $(this).data().uiSlider.options;
// Get the number of possible values
var vals = opt.max - opt.min;
// Space out values
for (var i = 0; i <= vals; i += opt.step) {
var el = $('<label>' + i + '</label>').css('left', (i / vals * 100) + '%');
$("#slider").append(el);
}
});