X-Git-Url: http://git.asbjorn.it/?a=blobdiff_plain;ds=inline;f=jquery%2Fjquery.js;h=cfac542b2816ddc529d69d37bbc6eb8208c16371;hb=f9dbb9f73a7336b826533a6b1d81e2e759380948;hp=4a9614c5ce0a65dd54ee7cecc648173932ed4ac5;hpb=25f5af1bcb7581e5e8462201781665e8ec637972;p=jquery.git diff --git a/jquery/jquery.js b/jquery/jquery.js index 4a9614c..cfac542 100644 --- a/jquery/jquery.js +++ b/jquery/jquery.js @@ -347,24 +347,34 @@ $.apply = function(o,f,a) { $.getCSS = function(e,p) { // Adapted from Prototype 1.4.0 if ( p == 'height' || p == 'width' ) { - if ($.getCSS(e,"display") != 'none') { - return p == 'height' ? - e.offsetHeight || parseInt(e.style.height,10) : - e.offsetWidth || parseInt(e.style.width,10); + var ph = $.browser == "msie" ? 0 : + parseInt($.css(e,"paddingTop")) + parseInt($.css(e,"paddingBottom")); + var pw = $.browser == "msie" ? 0 : + parseInt($.css(e,"paddingLeft")) + parseInt($.css(e,"paddingRight")); + + var oHeight, oWidth; + + if ($.css(e,"display") != 'none') { + oHeight = e.offsetHeight || parseInt(e.style.height,10); + oWidth = e.offsetWidth || parseInt(e.style.width,10); + } else { + var els = e.style; + var ov = els.visibility; + var op = els.position; + var od = els.display; + els.visibility = 'hidden'; + els.position = 'absolute'; + els.display = ''; + oHeight = e.clientHeight || parseInt(e.style.height,10); + oWidth = e.clientWidth || parseInt(e.style.width,10); + els.display = od; + els.position = op; + els.visibility = ov; } - var els = e.style; - var ov = els.visibility; - var op = els.position; - var od = els.display; - els.visibility = 'hidden'; - els.position = 'absolute'; - els.display = ''; - var oHeight = e.clientHeight || parseInt(e.style.height,10); - var oWidth = e.clientWidth || parseInt(e.style.width,10); - els.display = od; - els.position = op; - els.visibility = ov; - return p == 'height' ? oHeight : oWidth; + + return p == 'height' ? + (oHeight - ph < 0 ? 0 : oHeight - ph) : + (oWidth - pw < 0 ? 0 : oWidth - pw); } if (e.style[p]) { @@ -388,7 +398,6 @@ $.clean = function(a) { for ( var i = 0; i < a.length; i++ ) { if ( a[i].constructor == String ) { if ( a[i].indexOf("