aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAblay Keldibek <atomio.ak@gmail.com>2015-03-04 18:23:17 +0600
committerScott González <scott.gonzalez@gmail.com>2015-03-05 13:16:54 -0500
commit60c00cd4ecdab41f44e125efe2679223e9cd5535 (patch)
tree7693a109b4be0e2e0d8e4d89aae7cb1b8e6d12e3
parentaf4c35df9d1cf4c15d57b3789711026360785831 (diff)
downloadjquery-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.js12
-rw-r--r--ui/slider.js2
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() ) );
},