diff options
author | jzaefferer <joern.zaefferer@gmail.com> | 2010-03-27 10:57:33 +0100 |
---|---|---|
committer | jzaefferer <joern.zaefferer@gmail.com> | 2010-03-27 10:57:33 +0100 |
commit | c49be0be1a57cac325f021ffddc2f0fbccde1553 (patch) | |
tree | 3a7582079871ebf3510d905eb1ffbb83c9a12263 | |
parent | 551fa98ae4e1eafd3a152ca4897166537a069f16 (diff) | |
parent | a0f754faf55c1da38125a02aecf304a730f5b0c5 (diff) | |
download | jquery-ui-c49be0be1a57cac325f021ffddc2f0fbccde1553.tar.gz jquery-ui-c49be0be1a57cac325f021ffddc2f0fbccde1553.zip |
Merge branch 'master' of github.com:jquery/jquery-ui
-rw-r--r-- | tests/unit/position/position.html | 4 | ||||
-rw-r--r-- | tests/unit/position/position_core.js | 18 | ||||
-rw-r--r-- | ui/jquery.ui.position.js | 4 |
3 files changed, 26 insertions, 0 deletions
diff --git a/tests/unit/position/position.html b/tests/unit/position/position.html index 5a54e44c9..ca5f2585d 100644 --- a/tests/unit/position/position.html +++ b/tests/unit/position/position.html @@ -43,5 +43,9 @@ <div style="position: absolute; height: 5000px; width: 5000px;"></div> +<div id="bug-5280" style="height: 30px; width: 201px;"> + <div style="width: 50px; height: 10px;"></div> +</div> + </body> </html> diff --git a/tests/unit/position/position_core.js b/tests/unit/position/position_core.js index 4d2716ced..57e02da0a 100644 --- a/tests/unit/position/position_core.js +++ b/tests/unit/position/position_core.js @@ -330,4 +330,22 @@ test("collision: none, with offset", function() { }, { top: -13, left: -12 }, "left top, negative offset"); }); +//test('bug #5280: consistent results (avoid fractional values)', function() { +// var wrapper = $('#bug-5280'), +// elem = wrapper.children(), +// offset1 = elem.position({ +// my: 'center', +// at: 'center', +// of: wrapper, +// collision: 'none' +// }).offset(), +// offset2 = elem.position({ +// my: 'center', +// at: 'center', +// of: wrapper, +// collision: 'none' +// }).offset(); +// same(offset1, offset2); +//}); + })(jQuery); diff --git a/ui/jquery.ui.position.js b/ui/jquery.ui.position.js index f01640e18..11f8baa06 100644 --- a/ui/jquery.ui.position.js +++ b/ui/jquery.ui.position.js @@ -113,6 +113,10 @@ $.fn.position = function( options ) { position.top -= elemHeight / 2; } + // prevent fractions (see #5280) + position.left = parseInt( position.left ); + position.top = parseInt( position.top ); + $.each( [ "left", "top" ], function( i, dir ) { if ( $.ui.position[ collision[i] ] ) { $.ui.position[ collision[i] ][ dir ]( position, { |