如何在js中制作连续打开动画
How to make continuos opening animation in js
如何在html,css,js
中制作炫酷简单的开场动画
我已经试过了,但是没用:-
html代码
<div class="Anim">
<div>Header</div>
</div>
Css代码:-
.Anim {
position: absolute;
top: -100px;
left: 0;
width: 100%;
height: 100px;
background: purple;
color: red;
text-align: center;
font-size: 50px;
border: 3px solid lime;
}
Javascript代码:-
function anim() {
let elem = document.querySelector('.Anim');
let y = -100;
setTimeout(inner(),1000);
function inner() {
if(y == 0) {
return;
}
else {
y++;
elem.style.top = y + 'px';
setTimeout(inner(),1000);
}
}
}
anim();
他们有办法解决这个问题并让它发挥作用,如果有的话请告诉我。
提前谢谢
您应该删除 setTimeout(inner(), 1000)
的括号
function anim() {
let elem = document.querySelector('.Anim');
let y = -100;
setTimeout(inner ,1000);
function inner() {
if(y == 0) {
return;
}
else {
y++;
elem.style.top = y + 'px';
setTimeout(inner(),1000);
}
}
}
anim();
还有一种更有效的方法,使用 @keyframes
如何在html,css,js
中制作炫酷简单的开场动画我已经试过了,但是没用:-
html代码
<div class="Anim">
<div>Header</div>
</div>
Css代码:-
.Anim {
position: absolute;
top: -100px;
left: 0;
width: 100%;
height: 100px;
background: purple;
color: red;
text-align: center;
font-size: 50px;
border: 3px solid lime;
}
Javascript代码:-
function anim() {
let elem = document.querySelector('.Anim');
let y = -100;
setTimeout(inner(),1000);
function inner() {
if(y == 0) {
return;
}
else {
y++;
elem.style.top = y + 'px';
setTimeout(inner(),1000);
}
}
}
anim();
他们有办法解决这个问题并让它发挥作用,如果有的话请告诉我。
提前谢谢
您应该删除 setTimeout(inner(), 1000)
function anim() {
let elem = document.querySelector('.Anim');
let y = -100;
setTimeout(inner ,1000);
function inner() {
if(y == 0) {
return;
}
else {
y++;
elem.style.top = y + 'px';
setTimeout(inner(),1000);
}
}
}
anim();
还有一种更有效的方法,使用 @keyframes