Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery.each()替换项,用于在UI滑块上查找第n个匹配值_Jquery_Jquery Ui_Traversal_Jquery Ui Slider_Each - Fatal编程技术网

jQuery.each()替换项,用于在UI滑块上查找第n个匹配值

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

问题:我正在使用使用非常大的值(范围0-140000;步骤20000)的jQuery UI滑块,我修改了堆栈溢出上其他地方找到的解决方案,以向滑块添加标签。但是,该代码(见下文)为140000范围内的每个数字添加了一个标签。是否有一个替代.each()方法的方法只为每个x元素添加一个标签(我正在尝试每20000个值添加一个标签)?或者有人能推荐一种更聪明的方法来解决这个问题吗

Javascript

$( "#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);
    }
});