No ticket. Optimize top/left hooks: move the position check up, don't re-check it inside a hook.

This commit is contained in:
Michał Gołębiowski 2013-09-06 18:29:53 +02:00
parent 3ec6af891b
commit 6987220d2b

View File

@ -589,22 +589,20 @@ jQuery.each( [ "top", "left" ], function( i, prop ) {
return;
}
if ( pixelPosition ) {
// Hook not needed, remove it.
if ( pixelPosition || !jQuery.fn.position ) {
// Hook not needed or impossible to apply due to a missing module, remove it.
// Since there are no other hooks for prop, remove the whole object.
delete jQuery.cssHooks[ prop ];
return;
}
jQuery.cssHooks[ prop ].get = function ( elem, computed ) {
if ( !support.pixelPosition() && jQuery.fn.position ) {
if ( computed ) {
computed = curCSS( elem, prop );
// if curCSS returns percentage, fallback to offset
return rnumnonpx.test( computed ) ?
jQuery( elem ).position()[ prop ] + "px" :
computed;
}
if ( computed ) {
computed = curCSS( elem, prop );
// if curCSS returns percentage, fallback to offset
return rnumnonpx.test( computed ) ?
jQuery( elem ).position()[ prop ] + "px" :
computed;
}
};