jQuery 按钮响应时间问题,每 X 秒自动刷新 DIV

jQuery button response time issue while auto refreshing a DIV in every X second

我正在使用此代码刷新主页中的主要 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 事件生效。

经过我的全部研究,我开始尝试所有不同的选择。只有当我像这样更改 jQuery 代码时才可以:

setTimeout('sensorcells_load()', 10000);

function sensorcells_load()
{
    jQuery('#sensorcells').load('dashboard_content.php');
    setTimeout('sensorcells_load()', 10000);
}

我不是 jQuery 人,我真的不知道为什么这个有效而另一个无效。但这解决了我的问题。