1

我对使用 jQuery 很陌生,所以如果这个问题很荒谬,请原谅。

我有一个 jQuery 滑块,它显示当前选择的值,共 100 个。我现在需要获取余数,以便稍后在计算中使用它。

我的代码显示了两个值,但是 percent2 通常是应该显示的两侧的 1 或 2 个数字,因此 percent1 将显示为 100,而 percent2 将显示为 2。

代码是:

<script type="text/javascript">
    $(function () {
        $("#percent_slider").slider({
            orientation: "horizontal",
            range: false,
            min: 0,
            max: 100,
            value: 50,
            step: 1,
            slide: function (event, ui) {
                $("#percent1").text(ui.value);
                var percent2 = 100 - ($("#percent_slider").slider("value"));
                $("#percent2").text(percent2.toFixed(0));
            },
        });
    });
</script>

这是找到我想要的价值的最佳方式吗?

4

2 回答 2

1

出于某种原因,我真的不知道为什么,这是有效的:

slide: function( event, ui ) {
    var sliderVal = ui.value,
        percent2 = 100-sliderVal;
    $( "#percent1" )
        .text(sliderVal);
    $("#percent2" )
        .text(percent2);

    console.log(sliderVal, percent2, sliderVal + percent2);

JS Bin 演示

尽管我不完全确定,但我假设在ui.value整个函数中对变量的重复评估之间存在时间延迟;将该值分配给变量似乎消除了延迟,或者至少将其最小化。

于 2012-07-10T17:26:48.233 回答
0

也许需要将其作为整数进行处理,似乎这个值是一个字符串......像这样使用parseInt()

   var percent2 = 100 - parseInt($("#percent_slider").slider("value"));
于 2012-07-10T17:36:09.163 回答