/* browser bug fix */\r
\r
zoom : 1;\r
-\r
word-wrap : break-word; /* IE5.5?5?, Firefox3.5, Chrome1 Opera10.5 Safari1 */\r
white-space : pre; /* CSS 2.0 */\r
white-space : pre-wrap; /* CSS 2.1 */\r
position : absolute;\r
overflow : hidden;\r
background : #000;\r
- background : rgba(0,0,0,0.5);\r
+ /* background : rgba(0,0,0,0.5); IE5.5 ietester でインジケーターに色がつかない、、、*/\r
}\r
.Root .ScrollBox-IndicatorV {\r
top : 0;\r
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;
for( p in obj ){
// object の拡張に備えて plain なオブジェクトを用意し、そのメンバーと一致するものは処理の対象外。
- if( plain[ p ] ) continue;
+ //if( plain[ p ] ) continue;
v = obj[ p ];
};
if( filterFix ){
- v = X_Node_CSS_objToIEFilterText( that, filterFix );
+ v = X_Node_CSS_objToIEFilterText( that, filterFix, css );
if( v ){
css[ ++n ] = 'filter:' + v;
};
} :
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;
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 カンマ区切りの複数指定
// 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;
\r
if( !obj ){\r
this[ '_anime' ] = obj = {\r
- x : 0, y : 0, a : 1,\r
+ x : X_NodeAnime_hasTransform ? 0 : NaN,\r
+ y : X_NodeAnime_hasTransform ? 0 : NaN,\r
+ a : 1,\r
duration : 0\r
//phase, lazyRelease, easing, follower, releaseNow\r
};\r
case 4 : // 強制停止(GPU転送予約)\r
case 7 : // アニメーション中\r
if( option & X_NODE_ANIME_RESET ){\r
- obj.startX = obj.startY = obj.destX = obj.destY = obj.x = obj.y = 0;\r
+ obj.startX = obj.startY = obj.destX = obj.destY = obj.x = obj.y = X_NodeAnime_hasTransform ? 0 : NaN;\r
obj.startA = obj.destA = obj.a = 1;\r
}; // TODO 終了値で停止も,,,\r
\r
if( now < obj.destTime ){\r
easing = obj.progress = obj.easing.fn( ( now - obj.startTime ) / obj.duration );\r
X_NodeAnime_updatePosition( xnode, \r
- obj.x = ( obj.destX - obj.startX ) * easing + obj.startX | 0,\r
- obj.y = ( obj.destY - obj.startY ) * easing + obj.startY | 0,\r
+ obj.x = ( obj.destX - obj.startX ) * easing + obj.startX,\r
+ obj.y = ( obj.destY - obj.startY ) * easing + obj.startY,\r
obj.a = ( obj.destA - obj.startA ) * easing + obj.startA, true );\r
c = true;\r
break;\r
that[ '_flags' ] |= X_NodeFlags_ACTUAL_LISTENING;
};
+ // ie8 では子要素に opacity が反映されないため、親要素の opacity を積算する
ie8opacity = ie8opacity * ( that[ '_css' ] && 0 <= that[ '_css' ].opacity ? that[ '_css' ].opacity : 1 );
// 8. 更新の適用
var X_Node__updateRawNode =
X_UA_DOM.W3C ?
( function( that, elm, ie8opacity, accumulatedFlags ){
- var attrs, rename, k, v, memory, f;
+ var // flags = that[ '_flags' ],
+ attrs, rename, k, v, memory, f;
// textNode
if( !that[ '_tag' ] ){
that[ '_flags' ] &= X_Node_BitMask_RESET_DIRTY;
return;
};
+
// id
if( that[ '_flags' ] & X_NodeFlags_DIRTY_ID ){
that[ '_id' ] ?
delete that[ '_newAttrs' ];
};
+
if( accumulatedFlags & X_NodeFlags_IE8_OPACITY_FIX ){
memory = that[ '_css' ] && that[ '_css' ].opacity;
if( f = true ){
scrollBox.xnode[ 'append' ]( XUI_ScrollBox_indicatorV );\r
XUI_ScrollBox_indicatorV[ 'animate' ](\r
{ opacity : 0 },\r
- { opacity : 1 },\r
+ { opacity : 0.5 },\r
900, 'circular', 300\r
);\r
scrollBox\r
scrollBox.xnode[ 'append' ]( XUI_ScrollBox_indicatorH );\r
XUI_ScrollBox_indicatorH[ 'animate' ](\r
{ opacity : 0 },\r
- { opacity : 1 },\r
+ { opacity : 0.5 },\r
900, 'circular', 300\r
);\r
scrollBox\r
case XUI_Event.SCROLL_END :\r
console.log( '-fadeout-' );\r
this[ 'animate' ](\r
- { opacity : 1 },\r
+ { opacity : 0.5 },\r
{ opacity : 0 },\r
900, 'circular', 300\r
);\r
},\r
{\r
y : scrollBoxH * y / that.scrollYMax,\r
- opacity : 1\r
+ opacity : 0.5\r
},\r
opt_time, opt_easing, opt_release\r
);\r
},\r
{\r
x : scrollBoxW * x / that.scrollXMax,\r
- opacity : 1\r
+ opacity : 0.5\r
},\r
opt_time, opt_easing, opt_release\r
);\r