【发布时间】:2022-11-04 06:16:34
【问题描述】:
我为两个动画创建了两个类,按下按钮应该首先使用一个动画打开和关闭全屏,然后在第二次按下按钮后使用另一个动画。
CSS Animate 启用全屏,animatereverse 禁用它
#mv {
width: 100%;
height: 57%;
}
.animate {
animation: fullscreen 0.5s;
animation-fill-mode: forwards;
}
@keyframes fullscreen {
from {
height: 57%;
}
to {
height: 100%;
}
}
.animatereverse {
animation: fullscreenreverse 0.5s;
animation-fill-mode: forwards;
}
@keyframes fullscreenreverse {
from {
height: 100%;
}
to {
height: 57%;
}
}
TS/JS 我使用了一个标志来让函数知道界面是否全屏
var fullscreen = false;
//console.log(" fullscreen now false ");
document.getElementById('fllbtn').addEventListener("click", function () {
if(fullscreen == false){
//console.log(" fullscreen is false ");
fullscreen = true;
//console.log(" fullscreen now true ");
document.getElementById("mv").classList.toggle("animate");
}else{
//console.log(" fullscreen is true ");
fullscreen = false;
//console.log(" fullscreen now false ");
document.getElementById("mv").classList.toggle("animatereverse");
}
})
问题如下:
开始
*非全屏界面
*我按全屏按钮
*动画有效,界面变为全屏
*我按全屏按钮
*动画有效,界面返回初始非全屏状态
*我按全屏按钮
*动画不工作,不全屏
*我按全屏按钮
*动画不工作,不进入全屏
结尾
把它想象成一个循环,它基本上跑了两次,跳了两次,像这样重复。
【问题讨论】:
标签: javascript css typescript css-animations keyframe