2016-02-24 10 views
7

I initialisieren noUiSlider mit DatennoUiSlider lange Zahl Rundungsfehler

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

nach Wert Initialisierung Schieber ist 30679098761,50 warum?

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

+0

Fest ich denke, es liegt daran, um 1 px der Schiebewert von (87654567890/Länge Schiebern in px) erhöhen und wenn Sie diesen Wert wählten es ist näher nehmen Wert –

+0

@AlexandrKudryashov ich denke, es ist nicht normal, haben einige Möglichkeiten, es zu beheben? – sglazkov

Antwort

0

dies ein Fehler noUiSlider, in 8.4.0 Version

0

Zahlen, dass große nicht genau auf den Schieber Breite dargestellt werden (zB 300px vernünftigerweise nicht durch 87654567890 geteilt werden).

Die Lösung wird mit einem kleinen Zahlenbereich, und dabei ein in einem Array sucht den großen Wert zu finden:

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

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

Werfen Sie einen Blick auf this example in the documentation, wie sie damit umgehen.

+0

Bei der Initialisierung habe ich einen ganzzahligen Wert gesetzt und warum Slider es ändern? Ich weiß, welcher Schieberegler den Wert ändert, weil der Wert in Prozent und zurück übersetzt wird, und zwar nicht schlecht, aber nicht bei der Initialisierung. Und mehr, ich kann Wert nicht einstellen, plugin es ändern. Demo hier https://jsfiddle.net/serGlazkov/yrppsmvo/8/ – sglazkov