OSDN Git Service

Verison 0.6.201, X.UI.ScrollBox woring at IE5.5 well.
[pettanr/clientJs.git] / 0.6.x / js / 02_dom / 06_XNodeCSS.js
index a59b708..9bcfdfd 100644 (file)
@@ -246,7 +246,7 @@ function X_Node_CSS_parseColor( x ){
 
 function X_Node_CSS_objToCssText( that, skipFilter ){
        var obj   = that[ '_css' ],
-               plain = X_EMPTY_OBJECT,
+               //plain = X_EMPTY_OBJECT,
                css   = [],
                n     = -1,
                p, v, specialFix, filterFix;
@@ -260,7 +260,7 @@ function X_Node_CSS_objToCssText( that, skipFilter ){
        
        for( p in obj ){
                // object の拡張に備えて plain なオブジェクトを用意し、そのメンバーと一致するものは処理の対象外。
-               if( plain[ p ] ) continue;
+               //if( plain[ p ] ) continue;
                        
                v = obj[ p ];
                
@@ -277,7 +277,7 @@ function X_Node_CSS_objToCssText( that, skipFilter ){
        };
        
        if( filterFix ){
-               v = X_Node_CSS_objToIEFilterText( that, filterFix );
+               v = X_Node_CSS_objToIEFilterText( that, filterFix, css );
                if( v ){
                        css[ ++n ] = 'filter:' + v;
                };
@@ -314,13 +314,15 @@ X_Node_CSS_FILTER_FIX_PROPS =
                } :
                null;
 
-function X_Node_CSS_objToIEFilterText( that, opt_css ){
+function X_Node_CSS_objToIEFilterText( that, opt_css, opt_cssList ){
        var obj     = opt_css || that[ '_css' ],
                test    = X_Node_CSS_FILTER_FIX_PROPS,
+               css     = {},
                filters = [],
                n       = -1,
                p, id, v, num, ary, params, i, l, dir,
                afterUpdate, impossible;
+
        for( p in obj ){
                if( X_EMPTY_OBJECT[ p ] ) continue;
                
@@ -332,7 +334,10 @@ function X_Node_CSS_objToIEFilterText( that, opt_css ){
                                filters[ ++n ] = v;
                                break;
                        case 2 : //'opacity' :
-                               if( v !== 1 ) filters[ ++n ] = 'alpha(opacity=' + ( v * 100 | 0 ) +')';
+                               //if( v === 0 ){
+                               //      opt_cssList && ( opt_cssList[ opt_cssList.length ] = 'visibility:hidden' );
+                               //} else
+                               if( v < 1 ) filters[ ++n ] = 'alpha(opacity=' + ( v * 100 | 0 ) +')';
                                break;
                        case 3 : //'boxShadow' :
                                // TODO カンマ区切りの複数指定
@@ -528,11 +533,11 @@ function X_Node_css( nameOrObj /* value */ ){
 // setter:object
        if( X_Type_isObject( nameOrObj ) ){
                if( !css ) css = this[ '_css' ] = {};
-               plain    = X_EMPTY_OBJECT;
+               //plain    = X_EMPTY_OBJECT;
                camelize = X_Node_CSS_camelize;
                flags    = this[ '_flags' ];
                for( p in nameOrObj ){
-                       if( plain[ p ] ) continue;
+                       //if( plain[ p ] ) continue;
                        name = camelize( p );
                        v    = nameOrObj[ p ];
                        if( css[ name ] === v ) continue;