in assets/www/scripts/MetroJs.lt.js [881:937]
$this.flipListItem = function (isFront, $itm, $front, $back, newSrc, isBgroundImg) {
var dir = (!stgs.ignoreDataAttributes && typeof ($itm.data("direction")) != "undefined") ? $itm.data("direction") : tdata.direction;
if (canFlip3d && tdata.useHwAccel) {
// avoid any z-index flickering from reversing an animation too early
isBgroundImg = isFront ? stgs.frontIsBackgroundImage : stgs.backIsBackgroundImage;
var animating = isFront ? $front.data("tile").animating : $back.data("tile").animating;
if (animating == true) {
return;
}
var spd = (tdata.speed * 2);
var duration = spd + 'ms';
var aniFName = (dir == "vertical") ? 'flipfront180' : 'flipfrontY180';
var aniBName = (dir == "vertical") ? 'flipback180' : 'flipbackY180';
var fCss = {
WebkitAnimationPlayState: 'running', WebkitAnimationName: aniBName, WebkitAnimationDuration: duration,
MozAnimationPlayState: 'running', MozAnimationName: aniBName, MozAnimationDuration: duration,
msAnimationPlayState: 'running', msAnimationName: aniBName, msAnimationDuration: duration,
OAnimationPlayState: 'running', OAnimationName: aniBName, OAnimationDuration: duration,
AnimationPlayState: 'running', AnimationName: aniBName, AnimationDuration: duration
};
var bCss = {
WebkitAnimationPlayState: 'running', WebkitAnimationName: aniFName, WebkitAnimationDuration: duration,
MozAnimationPlayState: 'running', MozAnimationName: aniFName, MozAnimationDuration: duration,
msAnimationPlayState: 'running', msAnimationName: aniFName, msAnimationDuration: duration,
OAnimationPlayState: 'running', OAnimationName: aniFName, OAnimationDuration: duration,
AnimationPlayState: 'running', AnimationName: aniFName, AnimationDuration: duration
};
$front.css(fCss).data("tile").animating = true;
$back.css(bCss).data("tile").animating = true;
window.setTimeout(function () {
if (typeof (newSrc) != "undefined") {
privMethods.handleListItemSwap($front, newSrc, isBgroundImg, stgs);
}
$front.data("tile").animating = false;
$back.data("tile").animating = false;
}, 0); // once the animation is half through it can be reversed
} else {
var height = $itm.height();
var width = $itm.width();
var margin = (dir == "vertical") ? height / 2 : width / 2;
var uCss = (dir == "vertical") ?
{ height: '0px', width: '100%', marginTop: margin + 'px', opacity: 0} :
{ height: '100%', width: '0px', marginLeft: margin + 'px', opacity: 0 };
var dCss = (dir == "vertical") ?
{ height: '100%', width: '100%', marginTop: '0px', opacity: 1} :
{ height: '100%', width: '100%', marginLeft: '0px', opacity: 1 };
$front.stop().animate(uCss, { duration: tdata.speed });
window.setTimeout(function () {
$back.stop().animate(dCss, { duration: tdata.speed });
if (typeof (newSrc) != "undefined") {
privMethods.handleListItemSwap($front, newSrc, isBgroundImg, stgs);
}
}, tdata.speed);
}
};