From 6833a3169775d4c15dd5e68c96bc63ad0187035e Mon Sep 17 00:00:00 2001 From: Jyoti Deka Date: Sat, 19 Oct 2013 00:56:20 -0400 Subject: Slider: Don't allow a slider's value to exceed its max Fixes #9376 Closes gh-1016 --- ui/slider.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'ui') diff --git a/ui/slider.js b/ui/slider.js index 74cbcc759..6d97f3c69 100644 --- a/ui/slider.js +++ b/ui/slider.js @@ -58,6 +58,7 @@ return $.widget( "ui.slider", $.ui.mouse, { this._handleIndex = null; this._detectOrientation(); this._mouseInit(); + this._calculateNewMax(); this.element .addClass( "ui-slider" + @@ -472,9 +473,11 @@ return $.widget( "ui.slider", $.ui.mouse, { } this._animateOff = false; break; + case "step": case "min": case "max": this._animateOff = true; + this._calculateNewMax(); this._refreshValue(); this._animateOff = false; break; @@ -543,12 +546,17 @@ return $.widget( "ui.slider", $.ui.mouse, { return parseFloat( alignValue.toFixed(5) ); }, + _calculateNewMax: function() { + var remainder = ( this.options.max - this._valueMin() ) % this.options.step; + this.max = this.options.max - remainder; + }, + _valueMin: function() { return this.options.min; }, _valueMax: function() { - return this.options.max; + return this.max; }, _refreshValue: function() { -- cgit v1.2.3