javascript - JavaScript:从一个表格主体淡入到另一个表格主体
问题描述
我正在使用 AJAX 填充我的表,我将数据作为 JSON 返回,我想用新数据更新我的表。
这很容易,我这样做是为了:
var output= "";
for (var i = 0; i < content.flights.length; i++) {
output+= "<tr><td>";
output+= content.flights[i].id;
output+= "</td></tr>";
}
document.getElementById("flights").tBodies[0].innerHTML = output;
我怎样才能在两个版本之间淡出呢?例如,当我有新数据时,如何淡化旧数据和新数据之间的文本?
这里的基本要求是以一种很好的方式添加数据。如果有更好的解决方案,请不要犹豫,指出我的方向!
谢谢你的帮助!
解决方案
这是一个如何使用 css 制作淡入淡出效果并从服务器获取数据的示例。
单击底部的“获取新数据”后,将发送新请求并重新加载表格
const fetchData = () => {
fetch('https://jsonplaceholder.typicode.com/users')
.then(response => response.json())
.then(users => {
var output= "";
for (var i = 0; i < users.length; i++) {
output+= "<tr><td>";
output+= users[i].name;
output+= "</td></tr>";
}
document.getElementById("table").tBodies[0].innerHTML = output;
setTimeout(() => {
document.getElementById("table").tBodies[0].classList.remove('fade-out');
}, 400); // time for animation
})
}
document.getElementById('newDataBtn').addEventListener('click', function() {
document.getElementById("table").tBodies[0].classList.add('fade-out');
fetchData();
});
fetchData();
.t-body {
opacity: 1;
transition: opacity .5s;
}
.t-body.fade-out {
opacity: 0;
transition: opacity .5s;
}
<div id="root">
<table id="table">
<tbody class="t-body" id="tBody">
</tbody>
</table>
<button id="newDataBtn">Get new data</button>
</div>
推荐阅读
- python - 读取 Pythons memory_profiler 的输出
- node.js - 连接 Mongo 将数据添加到会话
- html - 边缘浏览器上的 Parse.cloud.run 功能故障(尝试重定向页面)
- java - 如何在 spotbug 报告中标记误报
- kotlin - Kotlin 类型擦除 - 为什么仅在泛型类型上不同的函数可编译,而仅在返回类型上不同的函数不是?
- wordpress - WordPress 列出 AZ 索引中的所有/选定页面
- sql - Red Gate Oracle Schema 比较 v3 和 v4 不解释 UserObjectPrivileges
- c# - 如何使用 Xero API 更新联系人的批量支付帐户名称和详细信息
- c - 如何将天转换为年月周然后天
- javascript - 问题
关于角材料设计