Третья ветка
else if (pressKey.keyCode == 38 && me.attr('style') == 'transform: rotate(-180deg) scale(1, 1)') { // При нажатии клавиши вверх и соответствии стиля
me.animate({rotate : '360deg'}, 500);
}
никогда не выполнится, т.к. первая ветка (
pressKey.keyCode == 38
) содержит более мягкое условие, чем третья. Т.е. во всех случаях когда третья ветка могла бы выполниться, выполняется первая, т.к. она проверяется раньше.
Перепишите на следующий код:
if (pressKey.keyCode == 38) { // При нажатии клавиши вверх
if (me.attr('style') == 'transform: rotate(-180deg) scale(1, 1)') { // При нажатии клавиши вверх и соответствии стиля
me.animate({rotate : '360deg'}, 500);
} else {
me.attr('src', 'deep_space/me_up.png');
}
}
else if (pressKey.keyCode == 40) { // При нажатии клавиши вниз
me.animate({rotate : '-180deg'}, 500);
me.attr('src', 'deep_space/me_up.png');
}