gpt4 book ai didi

javascript - 检查间隔是否正在运行,反之亦然

转载 作者:数据小太阳 更新时间:2023-10-29 04:01:54 26 4
gpt4 key购买 nike

所以我有一个带有基本身份验证的网络应用程序。

当我登录时,会设置一个时间间隔:

$("#login").click(function(e) { 
var interval = setInterval(function(){myFunction();}, 2000); });

然后当我注销时我需要停止间隔:

$("#logout").click(function(e) { 
if(typeof interval !== 'undefined') clearInterval(interval); });

但它不起作用,我认为检查间隔是否存在的方法是错误的...我可以设置间隔以便它在我登录时运行,但我需要在我单击我的时停止/清除它注销按钮,它不...

附言。我使用间隔每 2 秒自动检查“myFunction”,但也许还有另一种方法可以在没有间隔的情况下完成此操作?谢谢

最佳答案

您的 interval 变量需要在两个函数都可用的更高范围内声明。正如您现在所拥有的,它是一个局部变量,仅存在于您的事件处理函数的特定调用中。因此,当调用下一个事件处理程序时,先前的变量不再存在。您可能还想防止连续点击登录:

var interval;
$("#login").click(function(e) {
if (!interval) {
interval = setInterval(function(){myFunction();}, 2000);
}
});

$("#logout").click(function(e) {
clearInterval(interval);
interval = null;
});

而且,您无需检查 interval 是否为 undefined。您只需对其调用 clearInterval()clearInterval() 将防止您传递给它的任何无效参数。

关于javascript - 检查间隔是否正在运行,反之亦然,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34805296/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com