gpt4 book ai didi

javascript - css 弹出屏幕动画不起作用

转载 作者:太空宇宙 更新时间:2023-11-03 22:31:14 24 4
gpt4 key购买 nike

我正在尝试创建一个弹出屏幕,该屏幕通过单击使用 Javascript 中的 ActionListener 的按钮触发。动画基本上是一条从左到右扩展的水平线,一旦水平线达到其全长,它将向上和向下扩展以创建一个弹出框。我尝试使用由 javascript 调用的 css webkit 动画,但它似乎只制作垂直动画,然后水平线消失以及完全忽略垂直扩展。

init();
function init(){

document.getElementById("Btn").addEventListener("click",function(){
document.getElementById("popup-animation").style.visibility = "visible";
document.getElementById("popup-animation").style.WebkitAnimation =
"popup-horizontal-line 3s, popup-vertical-expansion 2s 3s";
});


}
body{
background-color: black;
}

#popup-animation{
width: 0;
height: 2px;
position: absolute;
left: 30%;
top: 30%;
visibility: hidden;
background-color: white;
color: white;
}


@-webkit-keyframes popup-horizontal-line{

0%{
width: 0;
}

100%{
width: 40%;
}

}

@-webkit-keyframes popup-vertical-expansion{

0%{
height: 0;
}

100%{
height: 40%;

}
}
<!DOCTYPE html>
<html>
<head>
<title>CSS Popup Animation</title>
<head>
<link rel="stylesheet" type="text/css" href="test.css">
</head>
</head>
<body>
<button id="Btn">Click</button>
<div id = popup-animation>content</div>
<script type="text/javascript" src="test.js"></script>


</body>
</html>

最佳答案

你需要为这两个动画添加 animation-fill-mode of forwards

这是一种适用于所有浏览器的方法,使用类而不是“内联”样式:p

init();
function init(){

document.getElementById("Btn").addEventListener("click",function(){
document.getElementById("popup-animation").style.visibility = "visible";
document.getElementById("popup-animation").classList.add('doanim');
});


}
#popup-animation{
width: 0;
height: 2px;
position: absolute;
left: 30%;
top: 30%;
background-color: red;
color: white;
}

.doanim {
animation: popup-horizontal-line 3s, popup-vertical-expansion 2s 3s;
animation-fill-mode: forwards, forwards;
}

@keyframes popup-horizontal-line{

0%{
width: 0;
}

100%{
width: 40%;
}

}

@keyframes popup-vertical-expansion{

0%{
height: 2px;
}

100%{
height: 40px;

}
}
<button id="Btn">Click</button>
<div id = popup-animation>content</div>

关于javascript - css 弹出屏幕动画不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48435300/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com