jquery/plugins/center/center.js
2006-08-13 14:51:02 +00:00

27 lines
723 B
JavaScript

/**
* Takes all matched elements and centers them, absolutely,
* within the context of their parent element. Great for
* doing slideshows.
* $("div img").center();
*/
$.fn.center = function(f) {
return this.each(function(){
if ( !f && this.nodeName == 'IMG' &&
!this.offsetWidth && !this.offsetHeight ) {
var self = this;
setTimeout(function(){
$(self).center(true);
}, 13);
} else {
var s = this.style;
var p = this.parentNode;
if ( $.css(p,"position") == 'static' ) {
p.style.position = 'relative';
}
s.position = 'absolute';
s.left = (($.css(p,"width") - $.css(this,"width"))/2) + "px";
s.top = (($.css(p,"height") - $.css(this,"height"))/2) + "px";
}
});
};