Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Script Javascript per citazioni random

    Sono completamente digiuno di Java, e ho applicato un Javascript alla mia pagina.
    Il codice dello stesso è il seguente:

    Codice PHP:
    <script language="JavaScript">
    var 
    Quotation=new Array()
    Quotation[0] = "Citazione"
    Quotation[1] = "Citazione"
    Quotation[2] = "Citazione"
    Quotation[3] = "Citazione"
    Quotation[4] = "Citazione"
    Quotation[5] = "Citazione"
    Quotation[6] = "Citazione"
    Quotation[7] = "Citazione"
    Quotation[8] = "Citazione"
    Quotation[9] = "Citazione"
    var Quotation.length;
    var 
    whichQuotation=Math.round(Math.random()*(Q-1));
    function 
    showQuotation(){document.write(Quotation[whichQuotation]);}
    showQuotation();
    </script> 
    E funziona tutto regolarmente.
    Tuttavia, ho inserito "più citazioni", dalla [10] alla [25]. Col risultato però che, se quelle citazioni sono attive... La visualizzazione non funziona (lascia spazio vuoto nel dive che gli sarebbe dedicato). Ho provato, nella mia confessata ignoranza, a definire i campi come: [01], [02] etc, per dare la medesima misura (non saprei dome dirlo) ma non funziona. Praticamente quando inserisco a doppia cifra, blocca proprio la funzione.
    Come mai?
    Come posso risolvere?

  2. #2
    Ci sono due errorini nell'algoritmo:
    1) usando round hai solo la metà delle possibilità che venga estratto l'ultimo numero.
    2) visto che math.random tira a caso un numero tra 0 e 1(escluso) bisogna moltiplicare per Q (ovvero per il numero di elementi) per ottenere un numero tra 0 e (Q-1)

    Per il resto aggiungendo le varie citazioni a me funziona perfettamente:
    Codice PHP:
    <script language="JavaScript"
    var 
    Quotation=new Array(); 
    Quotation[0] = "Citazione0"
    Quotation[1] = "Citazione1"
    Quotation[2] = "Citazione2"
    Quotation[3] = "Citazione3"
    Quotation[4] = "Citazione4"
    Quotation[5] = "Citazione5"
    Quotation[6] = "Citazione6"
    Quotation[7] = "Citazione7"
    Quotation[8] = "Citazione8"
    Quotation[9] = "Citazione9"
    Quotation[10] = "Citazione10"
    Quotation[11] = "Citazione11"
    Quotation[12] = "Citazione12"
    Quotation[13] = "Citazione13"
    Quotation[14] = "Citazione14"
    Quotation[15] = "Citazione15"
    Quotation[16] = "Citazione16";
    /*ecc ecc*/
    var Quotation.length
    var 
    whichQuotation=Math.floor(Math.random()*Q); 
    function 
    showQuotation(){document.write(Quotation[whichQuotation]);} 
    showQuotation(); 
    </script> 

  3. #3
    Come detto, sono completamente digiuno di Javascript e sfrutto questo script reperito in rete
    Intanto, ho applicato le modifiche da te consigliatemi, ti ringrazio per i suggerimenti.

    Per il resto, probabilmente ho commesso un qualche errore di sintassi nello scrivere le citazioni successive, trattandosi talvolta di citazioni su più righe e con virgolettamenti. Ora le ripasso una a una.

    Ti ringrazio nuovamente per i suggerimenti e mi scuso se ti ho fatto perdere tempo

  4. #4
    Detto banalmente, se devi usare virgolette all'interno delle virgolette che delimitano la stringa, quelle interne vanno inserite con uno slash davanti. Inoltre non puoi andare a capo, ma puoi usare i tag html per ottenere quel risultato. Ciao.
    Es:
    Codice PHP:
    Quotation[16] = "Questa citazione \"ha\" delle virgolette.
    E va a capo."


  5. #5
    Sì, su quello c'ero e infatti erano inseriti tutti correttamente, sia quello che le lettere accentate (che ho visto non identifica, ma lascia come carattere sconosciuto, invero non so se sia un problema del Javascript o dell'essere incluso in un div da php su file php)...

    Solo che su 25 citazioni, mi ero dimenticato di chiudere le vigolette della citazione della venticinquesima. Forse vedo smetterla di fare certi lavori alle tre di notte

    Grazie comuqnue di tutto

  6. #6
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.