Я пытаюсь изменить анимацию, но класс добавляется, но анимация не возникает. Что-то не так с моим кодом? Или мне не хватает важного принципа анимации?CSS Обратная анимация не работает
На данный момент существуют классы анимации, которые занимаются форвардной и обратной анимацией, но мне нужно изменить анимацию вместо создания новой анимации, чтобы вернуть элементы в исходное состояние.
Вот код:
<div class="posrel">
<h1 class="white heading-abs">Heading</h1>
<div class="redbg round divabs"></div>
<button role="button" class="clickButton white customfont">Click</button>
<button role="button" class="originalState white customfont">Original State</button>
<div>
CSS:
тело { фон: черный; font-family: 'Ubuntu Mono'; }
.posrel
{
position: relative;
width: 500px;
height: 500px;
}
.white
{
color: white;
}
.heading-abs
{
position: absolute;
left: 30%;
top: 5%;
}
.round
{
width: 200px;
height: 200px;
border-radius: 50%;
-webkit-transform: scale(1.0);
}
.clickButton
{
width: 50px;
height: 50px;
border-radius: 50%;
background-color: blue;
border: none;
}
.redbg
{
background-color: red;
}
.divabs
{
position: absolute;
top: 30%;
left: 100%;
cursor: pointer;
}
.scalebubbleani
{
-webkit-animation: scalebubbleanim 0.5s forwards ease-in-out;
}
@-webkit-keyframes scalebubbleanim
{
0%
{
-webkit-transform: scale(1.0);
}
100%
{
-webkit-transform: scale(0.2);
}
}
*:focus
{
outline: none;
}
.moveheadingani
{
-webkit-animation: moveheadinganim 0.5s forwards ease-in-out;
}
@-webkit-keyframes moveheadinganim
{
0%
{
position: absolute;
top: 5%;
left: 30%;
}
100%
{
position: absolute;
left: 110%;
top: 25%;
}
}
.customfont
{
font-family: 'Ubuntu Mono';
}
.originalState
{
width: 70px;
height: 70px;
border-radius: 50%;
background-color: rgba(255, 145, 0, 0.66);
border: none;
position: absolute;
top: 15%;
left: 0%;
}
.moveheadingbackani
{
-webkit-animation: moveheadingbackanim 0.5s forwards ease-in-out;
}
@-webkit-keyframes moveheadingbackanim
{
0%
{
position: absolute;
left: 110%;
top: 25%;
}
100%
{
position: absolute;
top: 5%;
left: 30%;
}
}
.scalebubbleoriginalani
{
-webkit-animation: scalebubbleoriginalanim 0.5s forwards ease-in-out;
}
@-webkit-keyframes scalebubbleoriginalanim
{
0%
{
-webkit-transform: scale(0.2);
}
100%
{
-webkit-transform: scale(1.0);
}
}
JS:
$(document).ready(function(){
$('.clickButton').click(function(){
$('.round').addClass('scalebubbleani');
$('.heading-abs').addClass('moveheadingani');
$('.round').removeClass('scalebubbleoriginalani');
$('.heading-abs').removeClass('moveheadingbackani');
});
$('.originalState').click(function(){
$('.heading-abs').addClass('moveheadingbackani');
$('.round').addClass('scalebubbleoriginalani');
$('.round').removeClass('scalebubbleani');
$('.heading-abs').removeClass('moveheadingani');
});
});
Имея отменить анимацию бы сделать мой CSS код более простым и кратким.
Jsfiddle - http://jsfiddle.net/qyya3521/