Macchina da scrivere ricorsiva
I titoli di questa template de Serendipity (il software che gestisce il Blog) sono fatti in Flash. Grazie ad un noto script di Deconcept, il contenuto dei titoli, sebbene in flash (notoriamente indigesto ai motori di ricerca), viene correttamente indicizzato. Ovviamente il contenuto è dinamico e viene generato automaticamente dal software del Blog. Tramite una variabile, viene passato a Flash (swf) che crea l'effettino tipo macchina da scrivere.
Di effetti Flash typewriter ne è pieno il mondo, ma riporto comunque la mia soluzione.
E' un prototipo (prototype) dell'oggetto Textfield e ha all'interno una piccola funzione ricorsiva.
TextField.prototype.typewr = function(str, msec){
this.n = 1;
msec != undefined ? this.msec = msec : this.msec = 30;
this.text = "";
function aggLett(tf, str){
clearInterval(tf.si);
tf.text = str.substring(0, tf.n);
if(tf.n<str.length){
tf.si = setInterval(aggLett, tf.msec, tf, str);
tf.n++;
}
}
aggLett(this, str);
}
Uso:
nomeTextfield.typewr("Testo da scrivere", millisecondi);
dove "Testo da scrivere" può essere, ovviamente, una variabile e millisecondi un numero (non obbligatorio; se omesso è 30 millisecondi).