如果函数在3秒内未被调用N个记录中的1个,则如何应用超时

时间:2012-01-06 02:07:53

标签: javascript jquery

当用户执行某个操作(输入)时,我运行一个功能,在100个用户的列表中将特定样式应用于该用户。随着用户继续键入此功能继续运行。

我想要的是应用超时来删除样式。意思是如果在3秒内未调用该函数,则运行另一个命令以删除样式。

有关如何创建这样的超时的任何建议吗?

由于

2 个答案:

答案 0 :(得分:2)

使用JavaScript的setTimeout()方法调用3秒(3000毫秒)后删除样式的方法。见下文:

var timeout;

function clearStyling() {
    // clear your styling here
};

$("#typingBox").on("keypress", function() {
    clearTimeout(timeout);
    timeout = setTimeout(clearStyling, 3000);
    // do your styling here ...
});

答案 1 :(得分:0)

需要查看一些代码才能确定,但​​似乎您可以对每个函数调用使用setTimeout()see reference here),并使用clearTimeout()清除旧的超时({{3} })在函数的开头。