OSDN Git Service

Version 0.6.125, bugfix X.Node.
[pettanr/clientJs.git] / 0.6.x / js / 02_dom / 06_XNodeCSS.js
index b185bdc..3f9f250 100644 (file)
@@ -254,7 +254,7 @@ function X_Node_CSS_objToCssText( that ){
        that._flags &= ~X_Node_State.OLD_CSSTEXT;
        
        if( !obj ){ // Opera7.5 未満?
-               delete that._cssText;
+               delete that._cssText;+65
                return '';
        };
        
@@ -492,21 +492,22 @@ function X_Node_CSS__splitValueAndUnit( v ){
 Node.prototype.css = function( nameOrObj /* orUnitID, valuOrUnitOrName */ ){
        var args = arguments,
                css  = this._css,
-               p, name, v, plain, camelize;
+               p, name, v, plain, camelize, flags;
        if( !this._tag ) return this;
 // setter:object
        if( X.Type.isObject( nameOrObj ) ){
                if( !css ) css = this._css = {};
                plain    = X_EMPTY_OBJECT;
                camelize = X_Node_CSS_camelize;
+               flags    = this._flags;
                for( p in nameOrObj ){
                        if( plain[ p ] ) continue;
                        name = camelize( p );
                        v    = nameOrObj[ p ];
                        if( css[ name ] === v ) continue;
-                       this._flags = X_Node_CSS_setStyle( css, this._flags, name, v );
+                       flags = X_Node_CSS_setStyle( css, flags, name, v );
                };
-               this._flags |= X_Node_State.DIRTY_CSS | X_Node_State.OLD_CSSTEXT;
+               this._flags = flags | X_Node_State.DIRTY_CSS | X_Node_State.OLD_CSSTEXT;
                this._flags & X_Node_State.IN_TREE && X_Node_reserveUpdate();
                delete this._cssText;
                return this;
@@ -604,7 +605,7 @@ Node.prototype.cssText = function( v ){
                delete this._css;
                delete this._cssText;
                this._flags |= X_Node_State.DIRTY_CSS;
-               this._flags &= ~X_Node_State.OLD_CSSTEXT; // ~X_Node_State.DIRTY_IE_FILTER
+               this._flags &= ~X_Node_State.OLD_CSSTEXT | ~X_Node_State.DIRTY_IE_FILTER;
                this._flags &= X_Node_BITMASK_RESET_STYLE;
                this._flags & X_Node_State.IN_TREE && X_Node_reserveUpdate();
                return this;
@@ -706,7 +707,7 @@ X_Node_CSS_getCharSize =
                                };
                        } else {
                                // 要素を生成して測定!
-                               ( that._rawObject || X_Node__ie4getRawNode( that ) ).insertAdjacentHTML( 'BeforeEnd', '<div id="ie4charsize" style="position:absolute;top:0;left:0;">X</div>' );
+                               ( that._rawObject || X_Node__ie4getRawNode( that ) ).insertAdjacentHTML( 'BeforeEnd', '<div id="ie4charsize" style="position:absolute;top:0;left:0;visivility:hidden;line-height:1;height:1em;">X</div>' );
                                elm = document.all[ 'ie4charsize' ];
                                v = elm.offsetHeight;
                                elm.removeAttribute( 'id' ); // ?