javascript - 自动刷新 Div 容器
问题描述
我的功能如下:
document.getElementById("IR_0_ph").innerHTML = sent_dict["IR_0"];
我得到这样的信息:h2 id="IR_0_ph" class="number">0</h2>
一切正常,但他不能自动更新信息,如果我手动重新加载页面一切都很好,但我需要自动更新此信息。mb 我可以只刷新主 Div 容器或....?
function data_handler(sent_dict) {
socket.emit("control_event", {
data: "Hello!"
}); // tell the RPI that the wifi connection is still working
document.getElementById("IR_0_ph").innerHTML = sent_dict["IR_0"];
document.getElementById("IR_1_ph").innerHTML = sent_dict["IR_1"];
document.getElementById("IR_4_ph").innerHTML = sent_dict["IR_4"];
document.getElementById("IR_Yaw_right_ph").innerHTML = sent_dict["IR_Yaw_right"];
document.getElementById("IR_Yaw_left_ph").innerHTML = sent_dict["IR_Yaw_left"];
document.getElementById("Yaw_ph").innerHTML = sent_dict["Yaw"];
document.getElementById("p_part_ph").innerHTML = sent_dict["p_part"];
document.getElementById("alpha_ph").innerHTML = sent_dict["alpha"];
document.getElementById("Kp_ph").innerHTML = sent_dict["Kp"];
document.getElementById("Kd_ph").innerHTML = sent_dict["Kd"];
document.getElementById("blue_percentage_ph").innerHTML = sent_dict["blue_percentage"];
stored_state = document.getElementById("state_table_1_ph").innerHTML;
new_state = sent_dict["AUTO_STATE"];
if (new_state != stored_state) {
insert_into_state_table_ph(new_state);
}
document.getElementById("manual_state_ph").innerHTML = sent_dict["manual_state"];
document.getElementById("mode_ph").innerHTML = sent_dict["mode"];
}
<div class="container-fluid">
<div class="row">
<div class="col-md-6 col-lg-3">
<div class="statistic__item">
<h2 id="IR_0_ph" class="number">unknown</h2>
<span class="desc">FRONT SIDE</span>
<div class="icon">
<i class="zmdi zmdi-account-o"></i>
</div>
</div>
</div>
</div>
</div>
解决方案
1)如何从什么方式调用data_handler函数,它是从某个异步流调用还是它只是一个一次性调用函数。
2) sent_dict 来自哪里?
不确定您是如何调用的,以及 sent_dict 数据如何传递给 dataHandler 函数。假设 sent_dict 是服务器调用或设备响应。
有两个用例或场景:
1)调用一次。例子:
ajaxCall.then(sent_dict => data_handler(sent_dict));
如果是,请使用 javascript 的 setTimeout 函数间隔执行 ajax 调用。设置超时(ajaxCall,interval_time)。或者您可以使用可观察区间运算符来模拟相同的行为而无需做太多事情。每次从服务器获得响应时,它将自动更新 div。
2)如果它不止一次调用或基于间隔的调用。以下代码不足以回答您的问题。
推荐阅读
- hive - How to find a Hive Table is ACID enabled?
- c++ - 如何在 gdb/lldb 调试中打印模板成员函数返回的值
- bash - Check Percentage of Hard Usage script
- javascript - 反应原生我想防止在原生中重复点击
- swift - 在嵌套的 Swift 结构中改变数组
- vb.net - 如何将结果添加到列表中?
- sql - Oracle SQL Developer 正则表达式错误
- laravel - 用户登录应用程序后出现 InvalidStateException
- swift - 将代码移动到单独的函数中时遇到问题
- apache-spark - 将火花数据框列中的值提取到新的派生列中