Di seguito vedremo una soluzione per ritardare l'esecuzione di un'azione in JavaScript. La soluzione è stata ispirata dalla seguente implementazione in jQuery.
Ecco la soluzione:
(function() {
function wait( delay, callback, params ) {
clearTimeout( timer );
params = params || {};
params.name = params.name || "";
params.text = params.text || "";
var timer = window.setTimeout( function() {
callback( params );
}, delay );
return timer;
}
document.addEventListener( "DOMContentLoaded", function() {
var output = document.querySelector( "#output" );
wait( 5000, function( settings ) {
output.className = settings.name;
output.innerHTML = settings.text;
}, { name: "done", text: "Done" });
});
})();