非线性 ui 滑块值/占位符

Posted

技术标签:

【中文标题】非线性 ui 滑块值/占位符【英文标题】:non-linear ui slider value/placeholder 【发布时间】:2014-12-27 08:36:03 【问题描述】:

我希望我的 ui 滑块位于其数组的第二个点,但让文本框在页面加载时显示数组值 (20) 而不是其位置 (1)。

占位符和值 html 元素似乎不起作用。

为了方便,我有一个小提琴:here

HTML

<div id="slider"></div>
<input type="text" id="slider-val" value="20" />

JQuery

$(function() 
    var valMap = [10, 20, 40, 80];
    $("#slider").slider(
        range: "max",
        max: valMap.length - 1,
        value: 1,
        slide: function(event, ui) 
            if (valMap[ui.value] > 0) 
                $("#slider-val").val(valMap[ui.value]);
             else 
                $("#slider-val").val("1/" + (valMap[ui.value - 2]) * -1);
            
            $(valMap[ui.value]).val($('#slider-val').val());
        
    );
    $("#slider-val").val($("#slider").slider("value"));
);

【问题讨论】:

【参考方案1】:

换行:

$("#slider-val").val($("#slider").slider("value"));

与:

$("#slider-val").val(valMap[$("#slider").slider("value")]);

因为您想使用滑块值作为valMap 数组中的索引。

jsFiddle

【讨论】:

以上是关于非线性 ui 滑块值/占位符的主要内容,如果未能解决你的问题,请参考以下文章

更改 jQuery UI 滑块值选项时动画滑块句柄?

JQuery UI 范围滑块值

jQuery UI 滑块值更改时如何运行代码隐藏函数

在onDragStop事件中获取材质ui滑块值(反应)

jQuery UI Slider - 最大值(不是滑块的结尾)

使用带有 Fontawesome 的 jQuery UI 滑块更改星级