html实现使用json绘制table,并实现talbe自动滚动显示,然后表格内容随着json改变自动更新,使用常用的js框架实现,给出完整可用的代码
时间: 2024-03-27 09:35:18 浏览: 137
FPGA如何利用查表法得到某角度所对应的正弦值、余弦值
好的,下面是使用jQuery实现的代码:
```html
<!DOCTYPE html>
<html>
<head>
<title>JSON Table Scroll</title>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<style type="text/css">
#table-container {
height: 200px;
overflow: auto;
}
table {
border-collapse: collapse;
width: 100%;
}
th, td {
padding: 8px;
text-align: left;
border-bottom: 1px solid #ddd;
}
th {
background-color: #f2f2f2;
}
</style>
</head>
<body>
<div id="table-container">
<table id="json-table">
<thead>
<tr>
<th>姓名</th>
<th>年龄</th>
<th>性别</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
<script type="text/javascript">
// 定义一个 json 对象
var data = [
{"name": "张三", "age": 18, "sex": "男"},
{"name": "李四", "age": 20, "sex": "女"},
{"name": "王五", "age": 22, "sex": "男"},
{"name": "赵六", "age": 24, "sex": "女"},
{"name": "钱七", "age": 26, "sex": "男"},
{"name": "孙八", "age": 28, "sex": "女"},
{"name": "周九", "age": 30, "sex": "男"},
{"name": "吴十", "age": 32, "sex": "女"}
];
// 生成表格内容
function generateTableContent(data) {
var content = '';
for (var i = 0; i < data.length; i++) {
content += '<tr>';
content += '<td>' + data[i].name + '</td>';
content += '<td>' + data[i].age + '</td>';
content += '<td>' + data[i].sex + '</td>';
content += '</tr>';
}
return content;
}
// 初始化表格
function initTable() {
$('#json-table tbody').html(generateTableContent(data));
}
// 定时更新表格内容
function updateTable() {
$.ajax({
url: 'data.json',
dataType: 'json',
success: function(result) {
data = result;
$('#json-table tbody').html(generateTableContent(data));
}
});
}
$(document).ready(function() {
initTable();
setInterval(function() {
updateTable();
}, 5000); // 每5秒更新一次表格内容
});
</script>
</body>
</html>
```
解释一下代码:
1. 首先引入了jQuery库,并定义了一些CSS样式,其中`#table-container`设置了固定高度和滚动条,以实现表格自动滚动显示。
2. 在HTML中定义了一个空表格,并给每一列设置了表头。
3. 在JavaScript代码中定义了一个JSON对象`data`,用来存储表格的内容。
4. `generateTableContent()`函数用于根据`data`生成表格的内容。
5. `initTable()`函数用于初始化表格,即将`data`中的内容生成到HTML中。
6. `updateTable()`函数用于更新表格内容,通过Ajax请求获取服务器端的JSON数据,并将其赋值给`data`,然后重新生成表格内容。
7. 在`$(document).ready()`函数中,调用`initTable()`函数初始化表格,并使用`setInterval()`函数定时调用`updateTable()`函数更新表格内容,以实现表格自动滚动显示和内容自动更新。
注意:上面的代码中使用了`$.ajax()`函数发起了一个Ajax请求,并且假设服务器端返回的JSON数据格式与`data`相同。你需要把这个URL改成你自己的URL,或者使用其他的Ajax函数实现数据的获取。
阅读全文