1

我有一个页面上有两个滑块,那里没什么特别的。但是:我在使用滑块中的值和使用外部按钮来控制滑块时发现了一个奇怪的问题。

这是我的滑块。

var slider = $("#amount_slider").slider({
        value: amount,
        min: min_amount,
        max: max_amount,
        step: step,
        slide: function( event, ui ) {
            $("#CREDIT").val(ui.value);
            handle_amount.qtip('option', 'content.text', '€ ' + FormatNumber(ui.value));
        },
        change: function( event, ui ) {
            $("#CREDIT").trigger('blur');
            Calculate();
        }
    });

console.log($("#amount_slider").slider("value"));
console.log($("#amount_slider").slider("option", "value"));

当我执行这些输出时,我会得到两个不同的结果!结果应该是 25000,但我得到 24500 和 25000。在 ui.value 中还有 24500...

我希望有人可以帮助我:-)

如果你想摆弄这个错误:http: //jsfiddle.net/xzhgd/

4

1 回答 1

0

感谢我的一位同事,我们已经能够找到问题和解决方案。鉴于我的最小值 2500 和步长 2000,您无法达到我给定的 25000 值,因此滑块将其更改为 24500,这实际上是可以达到的。

我认为这是 UI 中的“设计问题”,因为我宁愿让我的值正确并调整我的最小值和最大值以更严格。毕竟你想要一个正确的值,更严格的边界仍然意味着一个正确的值。所以这就是我解决这个问题的方法,所以它会以“我的方式”工作。

var factor = Math.Floor((amount - min_amount) / step);
var real_min = amount - (factor * step);

然后我将 real_min 指定为滑块的最小值。

于 2013-07-24T10:17:58.100 回答