OSDN Git Service

Fix the bug of X.NodeAnime.
[pettanr/clientJs.git] / 0.6.x / js / 02_dom / 06_XNodeCSS.js
index aa34a08..77bb067 100644 (file)
@@ -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 ),
@@ -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;