2016-02-24 16 views
7

zainicjować noUiSlider z danyminoUiSlider długi numer zaokrąglania błąd

var settings = { 
    connect: "lower", 
    range: { 
    max: 87654567890, 
    min: 0 
    }, 
    start: 30679098762, 
    step: 1 
} 

po wartości suwaka inicjalizacji +30679098761,50 dlaczego?

Demo tutaj - https://jsfiddle.net/serGlazkov/yrppsmvo/5/

+0

Myślę, że to dlatego, że ruch suwaka o 1 px zwiększy wartość o (87654567890/długość suwaka w px) i kiedy wybrał tę wartość to wziąć bliżej wartość –

+0

@AlexandrKudryashov myślę, że to nie jest normalne, masz kilka sposobów, aby to naprawić? – sglazkov

Odpowiedz

0

dużej liczby, nie można dokładnie odwzorować szerokości suwaków (powiedzmy o wymiarach 300 nie może zostać odpowiednio podzielone przez 87654567890).

Rozwiązaniem jest za pomocą małego zakres numerów, i robi patrząc na tablicy, aby znaleźć dużą wartość:

var range = ['x','x2','x3',...]; 

bigValueSlider.noUiSlider.on('update', function (values, handle) { 
    bigValueSpan.innerHTML = range[values[handle]]; 
}); 

Wystarczy popatrzeć na this example in the documentation poradzenia sobie z nim.

+0

Podczas inicjowania ustawiam wartość całkowitą i dlaczego suwak ją zmienia? Wiem, co suwak zmienić wartość, ponieważ tłumaczyć wartość do procentu i z powrotem, i nie jest źle, ale nie na inicjalizacji. I więcej, nie mogę ustawić wartości, wtyczka to zmienić. Demo tutaj https://jsfiddle.net/serGlazkov/yrppsmvo/8/ – sglazkov