Scrivi  :  Ricerca Avanzata  :  Directory  :  Contattami  :  Links  :  Polls  :  Media Gallery  
    Qualsiasi.NET Whatever you're searching for... it's not here.    
 Benvenuto su Qualsiasi.NET
 sabato, settembre 06 2008 @ 12:40 CEST

Random Quote without server-side support.

   
GeeknessSiccome il Celox non può usare linguaggi server-side per includere un blocco di citazioni random nel suo blog, ecco una veloce e anacronistica soluzione basata solo sul Javascript.

In qualsiasi punto della pagina, inserite il seguente codice:



<div id="random"></div>

<script>
function createRandomQuote() {
var quotes = new Array();
quotes [0] = "Prima citazione";
quotes [1] = "Seconda citazione";
quotes [2] = "Terza citazione";
var indice = Math.floor(Math.random()*(quotes.length))
if (indice>(quotes.length-1)) indice=quotes.length-1;
var finale = document.getElementById("random");
finale.innerHTML="<p onClick="createRandomQuote()">" + quotes[indice] + "</p>";
}
createRandomQuote();
</script>



Questo fa si che si crei un blocco contenente una citazione random fra quelle disponibili (la struttura if serve a debellare un caso, dato per impossibile da alcune fonti, che porterebbe ad un "Undefined" visualizzato a schermo al posto della citazione). Clickando la frase si ri-genererà un altra citazione random, se non vi interessa questa possibilità, l'ultima riga prima della parentesi graffa chiusa, può essere modificata in:



finale.innerHTML="<p>"+quotes[indice]+"</p>";



Torniamo un attimo alla questione dell'Undefined, esso potrebbe presentarsi perchè (da manualistica online) la funzione random genera un numero fra 0 e 1, quindi moltiplicandolo per il numero di elementi del vettore citazioni (in questo caso 3), potrebbe dare come risultato il numero stesso di elementi, nel caso in cui il numero random sia 1. Però si da il caso che i vettori hanno il primo elemento all'indice 0, e l'N-esimo elemento all'indice N-1 (ecco spiegato l'utilizzo del floor, che tronca la parte decimale di un numero riducendolo di fatto al numero intero inferiore), nella remota situazione in cui il numero random risulti 1, andremmo a pescare nel vettore ad un indice non definito, ecco spiegato l'Undefined.
 

Relativo a..

Opzioni

Trackback

Trackback URL for this entry: http://www.qualsiasi.net/trackback.php/Random_Quote_Senza_Server

No trackback comments for this entry.
Random Quote without server-side support. | 1 commenti | Crea un nuovo Account
I seguenti commenti sono proprietà di chi li ha inviati. Questo sito non è responsabile dei contenuti degli stessi.
Random Quote without server-side support.
Inviato da: CeLoX su sabato, febbraio 09 2008 @ 08:20 CET
grazie per esserti abbassato a fare cose "anacronistiche" [lol]

---
"Popolo bue Ti uccidono coll'onda"
 Copyright © 2008 Qualsiasi.NET
 Tutti i marchi e copyrights su questa pagina appartengono ai rispettivi proprietari.
 Ogni contributo (articoli, commenti e immagini) è sotto la responsabilità di chi lo inserisce.
Powered By Geeklog 
Pagina creata in 0,35 secondi