Javascript 元素可见时定期调用函数

Javascript 元素可见时定期调用函数,javascript,html,vuejs2,Javascript,Html,Vuejs2,我有一个websocket连接(socket),客户端应该使用它定期更新app.value。我需要在特定div可见时定期调用send()-函数,当它不可见时停止调用。我怎样才能做到这一点 {{value}} /*在呈现时定期在此处调用send()-如何*/ var app=新的Vue({ el:“#应用程序”, 数据:{ 可见:假, 值:“尚未加载”, }, 方法:{ 发送:功能(类型、数据){ socket.send(“更新”); } } }); /*app.value更新已被处理*/ 我遵

我有一个websocket连接(
socket
),客户端应该使用它定期更新
app.value
。我需要在特定div可见时定期调用send()-函数,当它不可见时停止调用。我怎样才能做到这一点


{{value}}
/*在呈现时定期在此处调用send()-如何*/
var app=新的Vue({
el:“#应用程序”,
数据:{
可见:假,
值:“尚未加载”,
},
方法:{
发送:功能(类型、数据){
socket.send(“更新”);
}
}
});
/*app.value更新已被处理*/

我遵循了IPPI和Mark_Ms的建议,并在代码中实现了更改
app.value
变量的功能:

socket.onmessage = function(e) {
    var packet = JSON.parse(e.data);
    var type = packet["type"]
    var data = packet["data"]
    if (type=="info") {
        if (app.value!==null) {
            clearInterval(app.watcher)
        }
        app.value = data
        app.watcher = setInterval(send, 1000)
    }
}

setInterval(()=>{if(this.visible){socket.send(“update”);},3000}
。更好的做法是在this.visible发生变化时启动/停止间隔。我不会考虑在div可见时启动/停止,而是在变量
visible
为true或false时启动/停止。您可以使用更改变量的代码启动和清除间隔。