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

时间:2015-01-22 16:59:30

标签: php jquery database setinterval

我正在使用此代码刷新主页面中的主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事件正常工作。

1 个答案:

答案 0 :(得分:0)

在我的整个研究之后,我开始尝试所有不同的选择。当我改变像这样的jQuery代码时,它就可以了:

setTimeout('sensorcells_load()', 10000);

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

我不是一个jQuery男人,我不知道为什么这个有效但其他人没有。但这解决了我的问题。