X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=0.6.x%2Fjs%2F02_dom%2F06_XNodeCSS.js;h=77bb0675073318ccbf3cd0b574a2c41f46ba89d6;hb=HEAD;hp=2463840d82d985867ae993179d0fab9188836fad;hpb=a205577d1e16a34301f1199dcf9c699aa2c37fb9;p=pettanr%2FclientJs.git diff --git a/0.6.x/js/02_dom/06_XNodeCSS.js b/0.6.x/js/02_dom/06_XNodeCSS.js index 2463840..77bb067 100644 --- a/0.6.x/js/02_dom/06_XNodeCSS.js +++ b/0.6.x/js/02_dom/06_XNodeCSS.js @@ -277,9 +277,10 @@ function X_Node_CSS_objToCssText( that, skipFilter ){ }; if( filterFix ){ - v = X_Node_CSS_objToIEFilterText( that, filterFix /* , css */ ); + v = X_Node_CSS_objToIEFilterText( that, filterFix, css ); + n = css.length; /* css が変更されている場合あり */ if( v ){ - css[ ++n /* css.length */ ] = 'filter:' + v; + css[ ++n ] = 'filter:' + v; }; skipFilter = skipFilter && v; } else { @@ -289,6 +290,7 @@ function X_Node_CSS_objToCssText( that, skipFilter ){ if( 0 <= n ){ // cssText には完全なものを控えるが、戻すのは filter を抜いたもの that[ '_cssText' ] = css.join( ';' ); + //console.log( that[ '_cssText' ] ); if( skipFilter ){ --css.length; return css.join( ';' ); @@ -320,8 +322,8 @@ function X_Node_CSS_objToIEFilterText( that, opt_css, opt_cssList ){ test = X_Node_CSS_FILTER_FIX_PROPS, filters = [], n = -1, - p, id, v, num, ary, params, i, l, dir, - afterUpdate, impossible; + p, id, v, num, vu, u, _v, ary, params, i, l, dir, + afterUpdate, impossible, color; for( p in obj ){ //if( X_EMPTY_OBJECT[ p ] ) continue; @@ -334,9 +336,10 @@ function X_Node_CSS_objToIEFilterText( that, opt_css, opt_cssList ){ filters[ ++n ] = v; break; case 2 : //'opacity' : - //if( v === 0 ){ - // opt_cssList && ( opt_cssList[ opt_cssList.length ] = 'visibility:hidden' ); - //} else + if( v === 0 ){ + console.log( '@opacity:0 ' + !!opt_cssList ); + opt_cssList && ( opt_cssList[ opt_cssList.length ] = 'visibility:hidden' ); + } else if( v < 1 ) filters[ ++n ] = 'alpha(opacity=' + ( v * 100 | 0 ) +')'; break; case 3 : //'boxShadow' : @@ -422,7 +425,7 @@ function X_Node_CSS_objToIEFilterText( that, opt_css, opt_cssList ){ break; }; }; - return filters.join( ' ' ); + return filters.join( ' ' );//n !== -1 ? filters.join( ' ' ) : ''; }; @@ -445,7 +448,7 @@ function X_Node_CSS_objToIEFilterText( that, opt_css, opt_cssList ){ sinY = Math.sin( radian ), skewX = X_Node_CSS_ieMathRangeFix( params[ 3 ] ), //skew - skewY = X_Node_CSS_ieMathRangeFix( params[ 4 ] ); + skewY = X_Node_CSS_ieMathRangeFix( params[ 4 ] ), _skX = Math.tan( skewX * PI_180 ), _skY = Math.tan( skewY * PI_180 ), @@ -489,14 +492,14 @@ function X_Node_CSS_objToIEFilterText( that, opt_css, opt_cssList ){ + params[ 1 ]; //console.log( ow + ' ' + oh ) - elm.style.left = dx + 'px'; - elm.style.top = dy + 'px'; + elm.style[ params[ 7 ] ] = dx + 'px'; // left or right + elm.style[ params[ 8 ] ] = dy + 'px'; // top or bottom //フィルターで回転と拡大縮小を加えます。 return 'progid:DXImageTransform.Microsoft.Matrix(' + // 'Dx=' + dx + //',Dy=' + dy + - 'M11=' + m11 + + 'M11=' + m11 + ',M12=' + m12 + ',M21=' + m21 + ',M22=' + m22 + @@ -510,7 +513,7 @@ function X_Node_CSS_onAfterUpdateIEFilterFix( that ){ elm = that[ '_rawObject' ], filter = elm.style.filter || '', origin = filter, - p, v, plus; + p, v, plus, id; for( p in css ){ if( !( id = test[ p ] ) ) continue; @@ -846,7 +849,7 @@ X_Node_CSS_getCharSize = }) : X_UA_DOM.IE4 ? (function( that ){ - var font, vu, v, u, _v; + var font, vu, v, u, _v, elm; X_Node_updateTimerID && X_Node_startUpdate(); if( that === X_Node_body && X_ViewPort_baseFontSize ) return X_ViewPort_baseFontSize;