js根据数组内对象的两个时间值生成时间轴,并由对象的value值生成进度图
时间: 2024-02-24 07:57:46 浏览: 19
实现这个功能,可以先将数组按照时间顺序排序,然后遍历数组,根据每个对象的开始时间和结束时间生成时间轴,并根据对象的 value 值生成进度图。
以下是一个示例代码:
```javascript
// 假设数据数组为 data,其中每个对象有 startTime、endTime 和 value 三个属性
data.sort(function(a, b) {
return a.startTime - b.startTime; // 将数组按照开始时间排序
});
var timeline = ''; // 生成时间轴的 HTML 字符串
var progress = ''; // 生成进度图的 HTML 字符串
for (var i = 0; i < data.length; i++) {
var item = data[i];
var start = item.startTime;
var end = item.endTime;
var value = item.value;
// 生成时间轴的 HTML
timeline += '<div class="time-item">' + start + '</div>';
timeline += '<div class="time-item">' + end + '</div>';
// 生成进度图的 HTML
var width = (end - start) / (data[data.length - 1].endTime - data[0].startTime) * 100; // 计算进度条宽度
progress += '<div class="progress-item" style="width: ' + width + '%;">' + value + '</div>';
}
// 将时间轴和进度图插入到页面中
document.getElementById('timeline').innerHTML = timeline;
document.getElementById('progress').innerHTML = progress;
```
上述代码会根据数据数组中每个对象的 startTime、endTime 和 value 属性生成时间轴和进度图,并将它们插入到页面中。你需要根据自己的需求修改代码和样式来实现不同的效果。