javascript - 如何在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
推荐阅读
- python - 如何调用缓存清除类方法?
- flutter - 将 Flutter Apk 上传到 Play 商店时出现版本代码错误
- python - 如何从 FastAPI 中的 UploadFile 获取文件路径?
- python - 皮蒙戈 | 以相反的顺序提取文档
- javascript - 在 2 个值之间增加一个数字并处理范围的限制
- azure - 在托管应用程序部署中使用“Microsoft.Insights/scheduledQueryRules”失败
- amazon-s3 - 雪花 - 从 S3 复制,但包含加载日期
- javascript - HTML5 输入类型范围值气泡
- c - C编程打印从函数返回的二维动态数组
- sql - SQL查询两个具有相同列名的表到一个表中