44 lines
984 B
TypeScript
44 lines
984 B
TypeScript
'use strict';
|
|
|
|
angular.
|
|
module('phonecatApp').
|
|
animation('.phone', function phoneAnimationFactory() {
|
|
return {
|
|
addClass: animateIn,
|
|
removeClass: animateOut
|
|
};
|
|
|
|
function animateIn(element: JQuery, className: string, done: () => void) {
|
|
if (className !== 'selected') { return; }
|
|
|
|
element.css({
|
|
display: 'block',
|
|
position: 'absolute',
|
|
top: 500,
|
|
left: 0
|
|
}).animate({
|
|
top: 0
|
|
}, done);
|
|
|
|
return function animateInEnd(wasCanceled: boolean) {
|
|
if (wasCanceled) { element.stop(); }
|
|
};
|
|
}
|
|
|
|
function animateOut(element: JQuery, className: string, done: () => void) {
|
|
if (className !== 'selected') { return; }
|
|
|
|
element.css({
|
|
position: 'absolute',
|
|
top: 0,
|
|
left: 0
|
|
}).animate({
|
|
top: -500
|
|
}, done);
|
|
|
|
return function animateOutEnd(wasCanceled: boolean) {
|
|
if (wasCanceled) { element.stop(); }
|
|
};
|
|
}
|
|
});
|