87,910
社区成员
发帖
与我相关
我的任务
分享
function getDeviceCatalogo() {
var json = {"苏州":{"用户1":{"device_ID":["101","102"],"name":["设备1","设备2"],"state":["正常","离线"]},"用户2":{"device_ID":["104","105","106","107"],"name":["设备1","设备2","设备3","设备4"],"state":["离线","正常","故障","离线"]}},"无锡":{"用户3":{"device_ID":["201","202","203"],"name":["设备1","设备2","设备3"],"state":["故障","正常","故障"]},"用户4":{"device_ID":["204","205","206","207"],"name":["设备1","设备2","设备3","设备4"],"state":["正常","故障","故障","正常"]}}};
var device_catalog_html = '';
for (var prop1 in json) {
device_catalog_html += '<div class="list"><div><i class="fa fa-angle-down fa-fw fa-lg"></i>' + prop1 + '</div>';
for (var prop2 in json[prop1]) {
device_catalog_html += '<div class="list1"><div><i class="fa fa-angle-down fa-fw fa-lg"></i>' + prop2 + '</div><div class="device_list">';
for (var i in json[prop1][prop2].name) {
var class_name, prepend_i;
switch (json[prop1][prop2].state[i]) {
case '正常':
class_name = 'normal';
prepend_i = '<i class="fa fa-fw fa-modx fa-spin"></i>';
break;
case '故障':
class_name = 'wrong';
prepend_i = '<i class="fa fa-fw fa-scale fa-flash"></i>';
break;
case '离线':
class_name = 'off';
prepend_i = '<i class="fa fa-fw fa-power-off"></i>';
break;
}
device_catalog_html += '<div device_ID="' + json[prop1][prop2].device_ID[i] + '"device_name="' + json[prop1][prop2].name[i] + '" state="' + json[prop1][prop2].state[i] + '" class="' + class_name + '">' + prepend_i + json[prop1][prop2].name[i] + '</div>';
}
device_catalog_html += '</div></div>'
}
device_catalog_html += '</div>';
}
for (var i = 0; i < $('#device>.body>.device_catalog').children().length; i++) {
var target = $('#device>.body>.device_catalog').get(0);
var e = target.childNodes[i];
delete target.removeChild(e);
e = null;
delete e;
}
$('#device>.body>.device_catalog').html(device_catalog_html);
}
setInterval(getDeviceCatalogo, 2000);
每两秒更新一下页面重新获取数据生成页面,应该是没问题的也不会造成内存被耗光建议每五秒刷新一次,最下面的循环是干嘛的,每次重新生成页面为什么还要去移除子节点?
之前是以为,即使改变一个div内部的html,旧的子节点在内存中依然存在,所以后来加了一段测试一下,结果没有鸟用 [quote=引用 1楼三岁打酱油 的回复:]每两秒更新一下页面重新获取数据生成页面,应该是没问题的也不会造成内存被耗光建议每五秒刷新一次,最下面的循环是干嘛的,每次重新生成页面为什么还要去移除子节点?