jQuery Slider给出不正确的值

时间:2012-07-10 17:23:37

标签: jquery slider

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

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

我所拥有的代码显示了这两个值,但是百分之二通常是应该显示的值的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>

这是找到我想要的价值的最好方法吗?

2 个答案:

答案 0 :(得分: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 demo

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

答案 1 :(得分:0)

也许它需要被整理为一个整数,似乎这个值是一个字符串......使用 parseInt()就像这样:

   var percent2 = 100 - parseInt($("#percent_slider").slider("value"));