diff options
author | Ablay Keldibek <atomio.ak@gmail.com> | 2015-03-04 18:23:17 +0600 |
---|---|---|
committer | Scott González <scott.gonzalez@gmail.com> | 2015-03-05 13:16:54 -0500 |
commit | 60c00cd4ecdab41f44e125efe2679223e9cd5535 (patch) | |
tree | 7693a109b4be0e2e0d8e4d89aae7cb1b8e6d12e3 | |
parent | af4c35df9d1cf4c15d57b3789711026360785831 (diff) | |
download | jquery-ui-60c00cd4ecdab41f44e125efe2679223e9cd5535.tar.gz jquery-ui-60c00cd4ecdab41f44e125efe2679223e9cd5535.zip |
Slider: Modified to allow value to reach max value with float step
Fixes #11286
Closes gh-1465
-rw-r--r-- | tests/unit/slider/slider_methods.js | 12 | ||||
-rw-r--r-- | ui/slider.js | 2 |
2 files changed, 12 insertions, 2 deletions
diff --git a/tests/unit/slider/slider_methods.js b/tests/unit/slider/slider_methods.js index c5c7e1254..ce26620e2 100644 --- a/tests/unit/slider/slider_methods.js +++ b/tests/unit/slider/slider_methods.js @@ -62,7 +62,7 @@ test( "disable", function() { }); test( "value", function() { - expect( 17 ); + expect( 18 ); $( [ false, "min", "max" ] ).each(function() { var element = $( "<div></div>" ).slider({ range: this, @@ -88,6 +88,16 @@ test( "value", function() { equal( element.slider( "value" ), 1, "value method get respects max" ); equal( element.slider( "value", 2 ), element, "value method is chainable" ); equal( element.slider( "option", "value" ), 1, "value method set respects max" ); + + // set max value with step 0.01 + element.slider( "option", { + min: 2, + value: 2, + max: 2.4, + step: 0.01 + }); + element.slider( "option", "value", 2.4 ); + equal( element.slider( "value" ), 2.4, "value is set to max with 0.01 step" ); }); //test( "values", function() { diff --git a/ui/slider.js b/ui/slider.js index 4af7dc34f..fceb367f3 100644 --- a/ui/slider.js +++ b/ui/slider.js @@ -558,7 +558,7 @@ return $.widget( "ui.slider", $.ui.mouse, { var max = this.options.max, min = this._valueMin(), step = this.options.step, - aboveMin = Math.floor( ( max - min ) / step ) * step; + aboveMin = Math.floor( ( +( max - min ).toFixed( this._precision() ) ) / step ) * step; max = aboveMin + min; this.max = parseFloat( max.toFixed( this._precision() ) ); }, |