2012-07-10 78 views
1

我很新使用jQuery,所以請原諒我,如果這個問題是荒謬的。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> 

這是找到我想要的價值的最佳方式嗎?

+0

你能告訴一個([SSCCE(HTTP:/ /sscce.org/))[JS小提琴](http://jsfiddle.net/)或[類似](http://jsbin.com),演示顯示發生了什麼? – 2012-07-10 17:33:03

+0

這是什麼用途:http://jsbin.com/ofahew/edit#javascript,html,live – Haribo83 2012-07-10 17:45:22

+0

這很有趣,它在'ui.value + percent2'等於'99'和'101'之間交替......奇怪。 – 2012-07-10 17:51:28

回答

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變量的重複評估之間存在時間延遲,在整個函數中;將該值分配給變量似乎消除了延遲,或者至少將其最小化。

+0

太棒了 - 完美的作品。 – Haribo83 2012-07-10 18:06:36

+0

我很高興聽到它!我爲了它的工作原理想了一個猜測,但是......我真的不確定它應該...... = /還是!我很高興得到了幫助,並感謝*你*接受! =) – 2012-07-10 18:08:34

0

也許是需要被prsed作爲一個整數,看來這個值是一個字符串...使用parseInt函數()這樣的:

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

感謝這一點,但不幸的是我仍然得到相同的結果 – Haribo83 2012-07-10 17:58:13