如何知道setTimeout还剩多少时间?

时间:2011-04-28 07:49:40

标签: javascript

基本上我正在做的是设置一个计时器在一小时过后注销用户但是只有当用户处于非活动状态时才想在用户完成任何活动后重启计时器(滚动,按键,鼠标移动,点击)问题是计时器没有重置或其他原因,这就是为什么在注销功能我想知道计时器实际上是否重置,这就是为什么我想知道计时器传递的时间。

我正在使用javascript,有什么帮助吗?

2 个答案:

答案 0 :(得分:2)

如果这是一个“功能” - 确保使用Javascript,但如果安全是您的目标,请使用服务器端,毫无疑问。

必须编写代码以跟踪可能发生的每一个小变化,滚动,点击,聚焦,按键等,以确定用户是否“闲置”,这将是一个很大的麻烦 - 所以这是一个想法使用 erichydns idleTimer 之类的东西,jquery插件:http://www.erichynds.com/jquery/a-new-and-improved-jquery-idle-timeout-plugin/


修改:这更适合您:http://paulirish.com/2009/jquery-idletimer-plugin/

这里有

演示,可以实时显示用户是否“闲置”http://paulirish.com/demo/idle-timer

答案 1 :(得分:0)

您可以使用以下代码澄清setTimeout:

var t = setTimeout(myFunction,100000);
clearTimeout(t); //clear the timeout

如果你想知道剩下多少时间,那么你必须计算秒数左右;)