JavaScript: ritardare l'esecuzione di un'azione

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" });

	});

})();

Torna su