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.

浏览 22
点赞
评论
收藏
分享

手机扫一扫分享

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

手机扫一扫分享

编辑 分享
举报