2017-12-18 3 views
2

jquery UI 슬라이더가 있는데 최대 값과 최소값의 차이가 정확한 단계 배수가 아닌 경우 슬라이더가 올바르게 작동하지 않는 것으로 나타났습니다. 예를 들어jQuery UI 슬라이더 단계

: 분 : 6900 최대 : 79,900 단계 :

I가 최대 커서를 이동 (1500), 최대 도달 값이 78,900 (= 48 (78900-6900)/15)이고, 그 다음

어떻게 최대 값 (79900)을 얻을 수 있습니까?

감사

+0

https://jsfiddle.net/4L0vtLd8/3/ – Alfra

+0

jQuery UI Slider API에서 설명한대로 * 슬라이더의 최대 값 범위 (최대 - 최소)는 단계에 의해 균등하게 나눌 수 있어야합니다. * (http://api.jqueryui.com/slider/#option-step 참조)) – beaver

답변

2

당신은 단계의 배수에 최대 값을 설정할 수 있습니다 :

var range = Math.floor((max - min)/step) + 1; 
    var max_calc = min + range * step; 

다음 슬라이드 처리기에서 원래의 최대 값으로 값을 제한 :

slide: function(event, ui) { 
    var v1 = Math.min(ui.values[0], max); 
    var v2 = Math.min(ui.values[1], max); 
    $("#slider-price").slider("values", 0, v1); 
    $("#slider-price").slider("values", 1, v2); 
    $("#amount").val("$" + v1 + " - $" + v2); 
} 

당신의 바이올린은 적응 그에 따라 : https://jsfiddle.net/beaver71/d8wvke7u/

+0

완벽합니다. 고마워. – Alfra