需求:每5秒请求一次接口(json假数据),将页面的数据进行更新,同时json假数据为: [{ name:’商品名‘, money:10, }] 这样的数据格式,有10条,每5秒更新1条的数据将价格上升1元,每次更新一条,更新完一轮后再开始继续更新
<!DOCTYPE html>
<html>
<head>
<title>更新数据</title>
</head>
<body>
<div id="dataDisplay"></div>
<script>
//JSON 数据
let jsonData = [
{ name: '商品1', money: 10 },
{ name: '商品2', money: 10 },
];
// 显示数据的函数
function displayData(data) {
let displayDiv = document.getElementById('dataDisplay');
displayDiv.innerHTML = ''; // 清空原有内容
data.forEach(item => {
displayDiv.innerHTML += `<p>${item.name} - ¥${item.money}</p>`;
});
}
// 更新数据的函数
function updateData() {
let index = 0;
let intervalId = setInterval(() => {
// 更新当前条目的价格
jsonData[index].money += 1;
// 显示更新后的数据
displayData(jsonData);
// 移动到下一条数据,如果已经是最后一条,则重新从第一条开始
index = (index + 1) % jsonData.length;
if (index === 0) {
// 如果更新完一轮,清除定时器并重新开始更新
clearInterval(intervalId);
intervalId = setInterval(updateData, 5000);
}
}, 5000);
}
// 页面加载完成后开始更新数据
window.onload = updateData();
</script>
</body>
</html>