var _st = window.setTimeout; /*== Enhance 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); } /*== Test codes below============================== */ function beforeAppend(button) { var div = document.createElement("div"); var date = new Date(); var number = Math.ceil(Math.random()*1000); button.style.background="#898A84"; setTimeout(afterAppend,1000,div,date,number,button); } function afterAppend(element,date,number,button) { var endTime = new Date(); element.innerHTML = ( endTime - date) + " milliseconds
Random Number = " + number; document.getElementById("foo").appendChild(element); button.style.background="buttonface"; }