From 15baf024c3352f0c593a49d70a3a87e4bc13c36b Mon Sep 17 00:00:00 2001 From: =?utf8?q?Scott=20Gonz=C3=A1lez?= Date: Wed, 11 Jun 2014 09:28:39 -0400 Subject: [PATCH] Slider: Reset positioning when orientation changes Fixes #10105 Closes gh-1268 --- tests/unit/slider/slider_options.js | 4 +++- ui/slider.js | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/tests/unit/slider/slider_options.js b/tests/unit/slider/slider_options.js index 5cfb5351a..587f847cf 100644 --- a/tests/unit/slider/slider_options.js +++ b/tests/unit/slider/slider_options.js @@ -78,7 +78,7 @@ test( "min", function() { }); test( "orientation", function() { - expect( 6 ); + expect( 8 ); element = $( "#slider1" ); options = { @@ -93,6 +93,7 @@ test( "orientation", function() { element.slider( options ).slider( "option", "orientation", "horizontal" ); ok( element.is( ".ui-slider-horizontal" ), "horizontal slider has class .ui-slider-horizontal" ); ok( !element.is( ".ui-slider-vertical" ), "horizontal slider does not have class .ui-slider-vertical" ); + equal( element.find( ".ui-slider-handle" )[ 0 ].style.bottom, "", "CSS bottom reset" ); equal( handle()[0].style.left, percentVal + "%", "horizontal slider handle is positioned with left: %" ); element.slider( "destroy" ) ; @@ -109,6 +110,7 @@ test( "orientation", function() { element.slider( options ).slider( "option", "orientation", "vertical" ); ok( element.is( ".ui-slider-vertical" ), "vertical slider has class .ui-slider-vertical" ); ok( !element.is( ".ui-slider-horizontal" ), "vertical slider does not have class .ui-slider-horizontal" ); + equal( element.find( ".ui-slider-handle" )[ 0 ].style.left, "", "CSS left reset" ); equal( handle()[0].style.bottom, percentVal + "%", "vertical slider handle is positioned with bottom: %" ); element.slider( "destroy" ); diff --git a/ui/slider.js b/ui/slider.js index 73bfb0273..58b5c0759 100644 --- a/ui/slider.js +++ b/ui/slider.js @@ -454,6 +454,9 @@ return $.widget( "ui.slider", $.ui.mouse, { .removeClass( "ui-slider-horizontal ui-slider-vertical" ) .addClass( "ui-slider-" + this.orientation ); this._refreshValue(); + + // Reset positioning from previous orientation + this.handles.css( value === "horizontal" ? "bottom" : "left", "" ); break; case "value": this._animateOff = true; -- 2.39.5