One of the problems that I’ve faced with Javascript is passing multiple parameters through the setTimeout function. I found this little snippet on the internet a few months ago and would like to share it with you. I don’t know who the original author is so I could not give him/her proper credit. Thanks!
var _st = window.setTimeout;
window.setTimeout = function(fRef, mDelay) {
if(typeof fRef == "function") {
var argu = Array.prototype.slice.call(arguments,2);
var f = (function(){ fRef.apply(null, argu); });
return _st(f, mDelay);
}
return _st(fRef,mDelay);
}
Define your function to call with setTimeout:
function alertMe(message, name) {
alert(message + name);
}
Now, just call the function.
var message = 'Hello, ';
var name = 'Richard';
setTimeout(alertMe, 2000, message, name);
Hope this helps someone!