Timeout is a simple jQuery plugin that allows you to delay the execution of code for a certain number of milliseconds. It works like the jQuery delay plugin http://www.evanbot.com/article/jquery-delay-plugin/4 which i didn't know existed at the time I wrote this plugin.
plugin code
/*
timeout a setTimeout wrapper for jQuery
By: Jesse Baird - jebaird.com
6-12-2009
*/
(function($){
$.fn.timeout = function(options) {
var defaults = {timeout:'2000',callback:function(){return true;}};
var options = $.extend(defaults, options);
return this.each(function() {
var e=$(this)[0];
setTimeout(function(){options.callback.call(e)},options.timeout);
});
}
})(jQuery);
usage
//this will hide all of the anchor tags after 2 seconds
$('a').timeout({timeout:2000,callback:function(){$(this).hide(); }});
//hide the drop down menu after 2 seconds
$("#topNav li ul").bind('mouseleave',function(){
//$(this).hide();
$(this).timeout({timeout:'2000',callback:function(elem){
$(this).fadeOut();
}});
limitations and requirements
- jQuery 1.3.2
- Currently there is no way to clear the timeout