aboutsummaryrefslogtreecommitdiffstats
path: root/ui
diff options
context:
space:
mode:
Diffstat (limited to 'ui')
-rw-r--r--ui/slider.js22
1 files changed, 20 insertions, 2 deletions
diff --git a/ui/slider.js b/ui/slider.js
index c96180dd2..edc8b4027 100644
--- a/ui/slider.js
+++ b/ui/slider.js
@@ -547,8 +547,26 @@ return $.widget( "ui.slider", $.ui.mouse, {
},
_calculateNewMax: function() {
- var remainder = ( this.options.max - this._valueMin() ) % this.options.step;
- this.max = this.options.max - remainder;
+ var max = this.options.max,
+ min = this._valueMin(),
+ step = this.options.step,
+ aboveMin = Math.floor( ( max - min ) / step ) * step;
+ max = aboveMin + min;
+ this.max = parseFloat( max.toFixed( this._precision() ) );
+ },
+
+ _precision: function() {
+ var precision = this._precisionOf( this.options.step );
+ if ( this.options.min !== null ) {
+ precision = Math.max( precision, this._precisionOf( this.options.min ) );
+ }
+ return precision;
+ },
+
+ _precisionOf: function( num ) {
+ var str = num.toString(),
+ decimal = str.indexOf( "." );
+ return decimal === -1 ? 0 : str.length - decimal - 1;
},
_valueMin: function() {