javascript - 应用动画删除文本
问题描述
我已经实现了一个类似导航选项卡的视图。三个按钮,当我们单击一个按钮时,与其他两个按钮对应的文本会被隐藏。但我希望当我们更新文本时,我们必须看到一些动画,比如淡入。
var prevId = 1;
function updateView(id) {
document.getElementById("subsec"+prevId).style.visibility = "hidden";
document.getElementById("subsec"+id).style.visibility = "visible";
prevId = id;
}
<div id="subsec1" >
Tab 1
</div>
<button onclick="updateView(1)"></button>
<div id="subsec2" style="visibility: hidden">
Tab 2
</div>
<button onclick="updateView(2)"></button>
<div id="subsec3" style="visibility: hidden">
Tab 3
</div>
<button onclick="updateView(3)"></button>
谁能帮我这个。我附上了一个例子,说明我的观点如何。示例:我目前在选项卡 3 上,然后单击选项卡 1,然后选项卡 3 的内容应该消失,但通过动画和选项卡 1 的内容必须仅通过动画出现在屏幕上(如淡入)。
解决方案
尝试添加css
.fadeIn {
animation-name: FadeIn;
animation-duration: 4s;
animation-fill-mode: both;
}
.fadeOut {
animation-name: FadeOut;
animation-duration: 4s;
animation-fill-mode: both;
}
@keyframes FadeIn {
from { opacity: 0%; }
to { opacity: 100%; }
}
@keyframes FadeOut {
from { opacity: 100%; }
to { opacity: 0%; }
}
然后像这样添加javascript:
var prevId = 1;
function updateView(id) {
document.getElementById("subsec"+prevId).className = "fadeOut";
document.getElementById("subsec"+id).className = "fadeIn";
preId = id;
}
将可见性:在 html 中替换为不透明度:0%,如果您希望它们在开头有动画,请在开头设置类。
这不是优化的。
推荐阅读
- keycloak - Keycloak Bear-Only Client with and without Authorization Client Secret
- graphql - 如何修复 graphql 错误:必须提供文件?
- python - Python WOS搜索函数TypeError:预期的字符串或类似字节的对象
- javascript - 自动触发表单中的提交按钮之一
- php - Php Curl:超时,关闭连接但不返回任何内容
- c# - 如何将 DataGridView 的选定行发送到 Datatable,但忽略第一列?
- ocaml - 是否可以为元素为元组的 n 元素数组创建存储?
- javascript - 如何将 2 个 JavaScript 数组连接成一个由这两者组合而成的新数组?
- html - 下拉 z-Index 问题
- powershell - PowerShell中函数调用函数的问题