Как вы и думали, вы можете сделать второй блок ключевых кадров, чтобы сбросить его обратно на дно:
@-webkit-keyframes reset_to_bottom {
0%, 100% {
top: auto;
bottom: 0;
z-index: 1000000;
opacity: 0.5;
}
}
тогда ваш jQuery меняет название анимации:
$j("#test").css({
'-webkit-animation-name': 'reset_to_bottom'
});
jsfiddle
При использовании -webkit-animation-fill-mode: forwards;
форварды будут поддерживать последние стили ключевых кадров, поэтому top:0%
по-прежнему установлен, поэтому bottom:0
не имел никакого эффекта
для удовольствия ... переключаться между анимациями при каждом нажатии
jsfiddle
$j(document).bind('click', function() {
if ($j("#test").css('-webkit-animation-name') == "slide_to_top") {
$j("#test").css({'-webkit-animation-name': 'reset_to_bottom'});
} else {
$j("#test").css({'-webkit-animation-name': 'slide_to_top'});
}
});