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!
JavaScript
1 2 3 4 5 6 7 8 9 10 11 12 |
<script> 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); } </script> |
Define your function to call with setTimeout:
JavaScript
1 2 3 4 5 |
<script> function alertMe (message, name) { alert(message + name); } </script> |
Now, just call the function.
JavaScript
1 2 3 |
var message = 'Hello, '; var name = 'Richard'; setTimeout(alertMe, 2000, message, name); |
Hope this helps someone! 🙂