Skip to content
Permalink
Browse files

Position: Check for fraction support.

  • Loading branch information...
scottgonzalez committed Nov 2, 2011
1 parent f76873c commit 3de7d8b68ca310f492fc460418f87e3faa590418
Showing with 45 additions and 0 deletions.
  1. +45 −0 ui/jquery.ui.position.js
@@ -183,6 +183,12 @@ $.fn.position = function( options ) {
position.left += myOffset[ 0 ];
position.top += myOffset[ 1 ];

// if the browser doesn't support fractions, then round for consistent results
if ( !$.support.offsetFractions ) {
position.left = Math.round( position.left );
position.top = Math.round( position.top );
}

collisionPosition = {
marginLeft: marginLeft,
marginTop: marginTop
@@ -406,6 +412,45 @@ $.ui.position = {
}
};

// fraction support test
(function () {
var testElement, testElementParent, testElementStyle, offsetLeft, i
body = document.getElementsByTagName( "body" )[ 0 ],
div = document.createElement( "div" );

//Create a "fake body" for testing based on method used in jQuery.support
testElement = document.createElement( body ? "div" : "body" );
testElementStyle = {
visibility: "hidden",
width: 0,
height: 0,
border: 0,
margin: 0,
background: "none"
};
if ( body ) {
jQuery.extend( testElementStyle, {
position: "absolute",
left: "-1000px",
top: "-1000px"
});
}
for ( i in testElementStyle ) {
testElement.style[ i ] = testElementStyle[ i ];
}
testElement.appendChild( div );
testElementParent = body || document.documentElement;
testElementParent.insertBefore( testElement, testElementParent.firstChild );

div.style.cssText = "position: absolute; left: 10.7432222px;";

offsetLeft = $( div ).offset().left;
$.support.offsetFractions = offsetLeft > 10 && offsetLeft < 11;

testElement.innerHTML = "";
testElementParent.removeChild( testElement );
})();

// DEPRECATED
if ( $.uiBackCompat !== false ) {
// offset option

0 comments on commit 3de7d8b

Please sign in to comment.
You can’t perform that action at this time.