mirror of
https://github.com/jquery/jquery.git
synced 2024-11-23 02:54:22 +00:00
Fix #10754. Have jQuery.swap() return the value of its callback.
This commit is contained in:
parent
0fcfac7568
commit
2c1d2b1a4d
25
src/css.js
25
src/css.js
@ -140,20 +140,23 @@ jQuery.extend({
|
|||||||
|
|
||||||
// A method for quickly swapping in/out CSS properties to get correct calculations
|
// A method for quickly swapping in/out CSS properties to get correct calculations
|
||||||
swap: function( elem, options, callback ) {
|
swap: function( elem, options, callback ) {
|
||||||
var old = {};
|
var old = {},
|
||||||
|
ret, name;
|
||||||
|
|
||||||
// Remember the old values, and insert the new ones
|
// Remember the old values, and insert the new ones
|
||||||
for ( var name in options ) {
|
for ( name in options ) {
|
||||||
old[ name ] = elem.style[ name ];
|
old[ name ] = elem.style[ name ];
|
||||||
elem.style[ name ] = options[ name ];
|
elem.style[ name ] = options[ name ];
|
||||||
}
|
}
|
||||||
|
|
||||||
callback.call( elem );
|
ret = callback.call( elem );
|
||||||
|
|
||||||
// Revert the old values
|
// Revert the old values
|
||||||
for ( name in options ) {
|
for ( name in options ) {
|
||||||
elem.style[ name ] = old[ name ];
|
elem.style[ name ] = old[ name ];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -163,18 +166,14 @@ jQuery.curCSS = jQuery.css;
|
|||||||
jQuery.each(["height", "width"], function( i, name ) {
|
jQuery.each(["height", "width"], function( i, name ) {
|
||||||
jQuery.cssHooks[ name ] = {
|
jQuery.cssHooks[ name ] = {
|
||||||
get: function( elem, computed, extra ) {
|
get: function( elem, computed, extra ) {
|
||||||
var val;
|
|
||||||
|
|
||||||
if ( computed ) {
|
if ( computed ) {
|
||||||
if ( elem.offsetWidth !== 0 ) {
|
if ( elem.offsetWidth !== 0 ) {
|
||||||
return getWH( elem, name, extra );
|
return getWH( elem, name, extra );
|
||||||
} else {
|
} else {
|
||||||
jQuery.swap( elem, cssShow, function() {
|
return jQuery.swap( elem, cssShow, function() {
|
||||||
val = getWH( elem, name, extra );
|
return getWH( elem, name, extra );
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
return val;
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -243,15 +242,13 @@ jQuery(function() {
|
|||||||
get: function( elem, computed ) {
|
get: function( elem, computed ) {
|
||||||
// WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right
|
// WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right
|
||||||
// Work around by temporarily setting element display to inline-block
|
// Work around by temporarily setting element display to inline-block
|
||||||
var ret;
|
return jQuery.swap( elem, { "display": "inline-block" }, function() {
|
||||||
jQuery.swap( elem, { "display": "inline-block" }, function() {
|
|
||||||
if ( computed ) {
|
if ( computed ) {
|
||||||
ret = curCSS( elem, "margin-right", "marginRight" );
|
return curCSS( elem, "margin-right", "marginRight" );
|
||||||
} else {
|
} else {
|
||||||
ret = elem.style.marginRight;
|
return elem.style.marginRight;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user