我查看过所有答案(question 1,question 2,question 2),但仍无法让我的动画正常工作。我有一个简单的关键帧,它在初始时动画良好,但在切换使用animation-direction: reverse
隐藏元素回到关键帧的初始状态的hidden class
时不会动画来回。将CSS关键帧动画化回初始状态
我想动画元素为translateY(0%)
当单击显示按钮时,单击隐藏按钮但animation-timing-function: ease
没有适当地应用,因此没有动画时动画回到translateY(-50%)
。我也需要为此使用关键帧,因为稍后我将对更复杂的转换进行动画处理。
这里是我有:
$('#show').on('click', function() {
\t $('#slide').removeClass('hidden');
});
$('#hide').on('click', function() {
\t $('#slide').addClass('hidden');
});
#slide {
background: #333;
color: #fff;
font-size: 14px;
font-weight: bold;
text-align: center;
width: 200px;
padding: 20px;
margin-bottom: 30px;
display: block;
animation-iteration-count: 1;
animation-direction: normal;
animation-duration: 0.4s;
animation-delay: 0s;
animation-timing-function: ease;
animation-fill-mode: both;
}
#slide.animation1 {
animation-name: slide;
}
#slide.hidden {
animation-direction: reverse;
}
@keyframes slide {
0% {
opacity: 0;
transform: translateY(-50%);
}
100% {
opacity: 1;
transform: translateY(0%);
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="slide" class="animation1">
<p>Lorem ipsum dolor sit amet, ius no feugiat vulputate, hendrerit quaerendum instructior ei eum. Fabellas percipitur definitionem ex vel.</p>
</div>
<button id="show">Show</button>
<button id="hide">Hide</button>
我想这是唯一的方法,谢谢! – g5wx