aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjzaefferer <joern.zaefferer@gmail.com>2010-03-27 10:57:33 +0100
committerjzaefferer <joern.zaefferer@gmail.com>2010-03-27 10:57:33 +0100
commitc49be0be1a57cac325f021ffddc2f0fbccde1553 (patch)
tree3a7582079871ebf3510d905eb1ffbb83c9a12263
parent551fa98ae4e1eafd3a152ca4897166537a069f16 (diff)
parenta0f754faf55c1da38125a02aecf304a730f5b0c5 (diff)
downloadjquery-ui-c49be0be1a57cac325f021ffddc2f0fbccde1553.tar.gz
jquery-ui-c49be0be1a57cac325f021ffddc2f0fbccde1553.zip
Merge branch 'master' of github.com:jquery/jquery-ui
-rw-r--r--tests/unit/position/position.html4
-rw-r--r--tests/unit/position/position_core.js18
-rw-r--r--ui/jquery.ui.position.js4
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, {