Timeout Interval Idle

联合创作 · 2023-10-02 14:46

Creating Timeouts and Intervals

Javascript allows you to create Timeouts and Intervals using this syntax:

setTimeout("alert('I waited 5 seconds!');",5000);
setInterval("alert('I happen every 8 seconds');",8000);

These functions are very useful, but unfortunately they only accept code as a string. This module allows you to use jQuery to create timeouts and intervals that also accept functions, like this:

$.timeout(function() { alert('I waited 5 seconds'); }, 5000);
$.interval(function() { alert('I happen every 8 seconds'); }, 8000);

You can also create Timeouts and Intervals from predefined functions:

function now() { alert('now!'); }
$.timeout(now, 5000);
$.interval(now, 8000);

Clearing Timeouts and Intervals

Javascript allows you to create and clear Timeouts and the Intervals using the following sytax:

var to = setTimeout("alert('I waited 5 seconds!');",5000);
var it = setInterval("alert('I happen every 8 seconds');",8000);
clearTimeout(to);
clearInterval(it);

Using this plugin, the same can be done like this:

var to = $.timeout(function() { alert('I waited 5 seconds'); }, 5000);
var it = $.interval(function() { alert('I happen every 8 seconds'); }, 8000);
$.clear(to);
$.clear(it);

Creating Idle Timeouts

In addition to the above functionality, this plugin provides a new type of timed function, the Idle Timeout. Every time you create a new Idle Timeout, any previous Idle Timeout is cleared. This means that you can make an event happen X seconds after the *last* time this functions is called. For example:

<input type="text" id="body" onkeypress="$.idle(function() { alert($('#body').val()); }, 3000);" />

The above code will set an Idle Timeout (and clear the last one) every time the user types into the input box. 3 seconds after the last key is pressed, the idle function will run and the contents of the input box will be alerted.

浏览 8
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报