2012-07-10 1 views
1

jQuery를 사용하는 데 매우 익숙합니다.이 질문이 터무니없는 경우 실례합니다.잘못된 값을주는 jQuery 슬라이더

나는 100 개 중에 현재 선택된 값을 표시하는 jQuery 슬라이더가 있습니다. 이제 나머지를 가져와 나중에 계산할 때 사용할 수 있습니다.

내가 가진 코드는 두 값을 표시하지만 percent1 100으로 볼 수 있으며, 2

코드는 그대로 percent2 보여줄 것이다, 그래서 percent2 종종 1 또는 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 Fiddle] (http://jsfiddle.net/), [similar] (http://jsbin.com), 무슨 일이 일어나고 있는지 보여주는 데모? –

+0

이게 무슨 용도인가? http://jsbin.com/ofahew/edit#javascript,html,live – Haribo83

+0

그것은 매혹적이며'ui.value + percent2'와'99'와'101'을 번갈아 표시합니다. 이상한. –

답변

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

+0

나는 그것을 듣게되어 기쁘다! 나는 그것이 작동하는 이유에 대해 * 추측 할 위험이있다. 그러나 ... 나는 그것이해야한다는 것을 정말로 확신하지 못한다./아직도! 나는 도움이되어 기쁘다. 그리고 받아들이 기 위해 당신 *에게 감사한다! =) –

0

은 어쩌면 에서는 parseInt() 같은 사용 ..., 정수로 prsed 할 필요가있어이 값이 문자열 인 것 같다

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

감사하지만 불행히도 나는 여전히 같은 결과를 얻는다. – Haribo83