我正在使用此代码刷新主页面中的主DIV(名为readings.php):
jQuery(document).ready(
function intervalle() {
setInterval(jQuery('#myMainDiv').load('readings_content.php'), 10000);
});
在readings_content.php中,正在从数据库中检查传感器读数,并根据传感器计数绘制一个类似安全凸轮屏幕的屏幕。这段代码就像:
$db_sensors->query("select * from tbl_sensors where status=1");
if ($db_sensors->recordcount>0){
while ($db_sensors->nextrow()){
$sensors=$db_sensors->fields;
$sensorname = $sensors["name"];
$sensorvalue = $sensors["lastreading"];
echo "<div>";
echo "Sensor Name: ".$sensorname."<br>";
echo "Last Reading: ".$sensorvalue;
echo "</div>";
}}
这个想法很好用。但由于这个循环(有9-16个传感器)刷新需要时间。这通常很好,因为页面没有重新加载,只是在读取新的传感器读数时更改值。但是我的主页面上有一个按钮(readings.php)。即使我使用的是本地数据库,这个按钮的响应时间也需要大约10秒钟。
我想让这个刷新过程更快。或者,如果可以,我想在单击按钮时停止此刷新事件(或页面中发生的事情)。并使其onClick事件正常工作。
答案 0 :(得分:0)
在我的整个研究之后,我开始尝试所有不同的选择。当我改变像这样的jQuery代码时,它就可以了:
setTimeout('sensorcells_load()', 10000);
function sensorcells_load()
{
jQuery('#sensorcells').load('dashboard_content.php');
setTimeout('sensorcells_load()', 10000);
}
我不是一个jQuery男人,我不知道为什么这个有效但其他人没有。但这解决了我的问题。