javascript - 使用append()的简单循环不起作用

标签 javascript jquery loops jquery-mobile

通过单击按钮调用函数 StartScan(),并且 addDevices() 动态创建输出。我希望此输出每 2 或 5 秒自动更新一次。

在控制台中,我看到函数 StartScan() 自动重新加载,因此值就在那里,我只是将 addDevice() 函数放入循环中。

我哪里错了?

function startScan()
{
    var paramsObj = {serviceUuids:[]};

    console.log("Start Scan : " + JSON.stringify(paramsObj));

    bluetoothle.startScan(startScanSuccess, startScanError, paramsObj);

    return false;
}

function startScanSuccess(obj)
{
    console.log("Start Scan Success : " + JSON.stringify(obj));     

    if (obj.status == "scanResult")
    {
        console.log("Scan Result");

        addDevice(obj.address, obj.name, obj.rssi);
    }
    else if (obj.status == "scanStarted")
    {
        console.log("Scan Started");
    }
    else
    {
        console.log("Unexpected Start Scan Status");
    }
}

function addDevice(address, name, rssi)
{
        var $devices = $(".devices");

        var $check = $devices.find("li[data-address='{0}']".format(address));

        if ($check.length > 0)
        {
            return;
        }
        var template = $("#device").text().format(address, name, rssi);

        $devices.append(template);
        $devices.trigger("create");

        window.setTimeout(50000);
        console.log("Loop: " + i);

        if (rssi < -100){   
            alert(name + " lost proximity");
        }

        setInterval( function(){ addDevice(adress, name, rssi);}, 2000);    
}

最佳答案

我相信你想要:

function addDevice(address, name, rssi)
{
        var $devices = $(".devices");
.....   
}

setInterval( addDevice, 2000); // without arguments
setInterval( function(){ addDevice(address, name, rssi) }, 2000); // with arguments

这将每 2 秒启动一次 addDevice 函数。

关于javascript - 使用append()的简单循环不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30668720/

相关文章:

javascript - 如何停用 Vuetify botnav 组件中的所有项目?

php - 如何通过ajax访问json_decode()数据

javascript - 定义 JSONP 回调函数

python - 如何迭代 numpy 3d 数组

Java 使用两个循环

javascript - 通过下拉菜单和 Ajax 更改用户的角色

javascript - mysql安装后无法解析fs、net、tls

jquery - 如何避免多次调用ajax方法?

Java String For循环不读取if语句

javascript - 如何动态地将函数附加到对象