removal.length = 0;
};
+
+ X_UA[ 'IE5' ] && ( X_elmBody.style.visibility = 'hidden' );
+
if( X_Node_html[ '_flags' ] & X_Node_BitMask_IS_DIRTY ){
X_Node__commitUpdate( X_Node_html, X_Node_html[ '_rawObject' ].parentNode, null, X_Node_html[ '_flags' ], 1, xnodesIEFilterFixAfter = [] );
} else {
X_Node__commitUpdate( X_Node_body, X_Node_body[ '_rawObject' ].parentNode, null, X_Node_body[ '_flags' ], 1, xnodesIEFilterFixAfter = [] );
};
+ X_UA[ 'IE5' ] && ( X_elmBody.style.visibility = '' );
+
if( X_Node_updateReservedByReleaseGPU ){
X_Node_reserveUpdate();
X_Node_updateReservedByReleaseGPU = false;
*/
var X_Node__commitUpdate =
X_UA_DOM.W3C ?
- ( function( that, parentElement, nextElement, accumulatedFlags, ie8opacity, xnodesIEFilterFixAfter ){
+ ( function( that, parentElement, nextElement, accumulatedFlags, ie8AccumulatedOpcity, xnodesIEFilterFixAfter ){
var elm = that[ '_rawObject' ],
- created, xnodes, l, next, anime, v;
+ created, xnodes, l, next, anime, v, currentOpcity;
// 1. GPU 一切の更新をスキップ
if( that[ '_flags' ] & X_NodeFlags_GPU_NOW ){
- console.log( '更新のskip ' + !!( that[ '_flags' ] & X_Node_BitMask_IS_DIRTY ) );
+ console.log( '更新のskip ' + that[ '_className' ] + !!( that[ '_flags' ] & X_Node_BitMask_IS_DIRTY ) );
that[ '_flags' ] & X_Node_BitMask_IS_DIRTY && X_Node__updateRawNode( that, elm );
return elm;
};
};
// ie8 では子要素に opacity が反映されないため、親要素の opacity を積算する
- ie8opacity = ie8opacity * ( that[ '_css' ] && 0 <= that[ '_css' ].opacity ? that[ '_css' ].opacity : 1 );
+ currentOpcity = that[ '_css' ] && 0 <= that[ '_css' ].opacity && that[ '_css' ].opacity;
+ ie8AccumulatedOpcity = ie8AccumulatedOpcity * ( currentOpcity || 1 );
// 8. 更新の適用
if( accumulatedFlags & X_Node_BitMask_IS_DIRTY ){
delete that[ '_fontSize' ];
- X_Node__updateRawNode( that, elm, ie8opacity, accumulatedFlags );
+ X_Node__updateRawNode( that, elm, currentOpcity, ie8AccumulatedOpcity, accumulatedFlags );
};
// 9. ie5 only
// 10. 子要素の更新。
if( ( xnodes = that[ '_xnodes' ] ) && ( l = xnodes.length ) ) {
for( ; l; ){
- next = X_Node__commitUpdate( xnodes[ --l ], elm, next, accumulatedFlags, ie8opacity, xnodesIEFilterFixAfter );
+ next = X_Node__commitUpdate( xnodes[ --l ], elm, next, accumulatedFlags, ie8AccumulatedOpcity, xnodesIEFilterFixAfter );
};
};
};
};
- if( ( anime = that[ '_anime' ] ) && 6 <= anime.phase && anime.doScroll ){
- if( anime.phase === 6 ){
- v = anime.fromScrollX;
- if( v === v ){
- elm.scrollLeft = v;
- } else {
- anime.fromScrollX = elm.scrollLeft;
- };
- v = anime.fromScrollY;
- if( v === v ){
- elm.scrollTop = v;
- } else {
- anime.fromScrollY = elm.scrollTop;
- };
- } else {
- elm.scrollLeft = anime.scrollX;
- elm.scrollTop = anime.scrollY;
- };
- };
-
return elm;
}) :
X_UA_DOM.IE4 ?
*/
var X_Node__updateRawNode =
X_UA_DOM.W3C ?
- ( function( that, elm, ie8opacity, accumulatedFlags ){
+ ( function( that, elm, currentOpcity, ie8AccumulatedOpcity, accumulatedFlags ){
var // flags = that[ '_flags' ],
- attrs, rename, k, v, memory, f;
+ attrs, rename, k, v, f;
// textNode
if( !that[ '_tag' ] ){
};
if( accumulatedFlags & X_NodeFlags_IE8_OPACITY_FIX ){
- memory = that[ '_css' ] && that[ '_css' ].opacity;
- f = true;
- if( 0 <= memory && memory < 1 ){
- //if( !that[ '_css' ] ) that[ '_css' ] = {};
- that[ '_css' ].opacity = ie8opacity;
+ if( 0 <= currentOpcity ){
+ f = true;
+ that[ '_css' ].opacity = ie8AccumulatedOpcity;
if( that[ '_flags' ] & X_NodeFlags_DIRTY_CSS ){
that[ '_flags' ] |= X_NodeFlags_OLD_CSSTEXT;
} else
* IE8でfilter:alphaの指定がposition:relative,position:absoluteの子要素に継承されない問題
*/
if( f ){
- if( 0 <= memory ){
- that[ '_css' ].opacity = memory;
- } else {
- //elm.style.filter = 'inherit';
- //delete that[ '_css' ].opacity;
- //if( X_Object_isEmpty( that[ '_css' ] ) ) delete that[ '_css' ];
- };
+ that[ '_css' ].opacity = currentOpcity;
};
that[ '_flags' ] &= X_Node_BitMask_RESET_DIRTY;