Cambiare frase e immagine al giorno dopo

Stato
Chiusa ad ulteriori risposte.

cavaliere123

Utente Attivo
31 Lug 2012
416
0
16
Buonasera desidero un'altra spiegazione che chiedo gentilmente a voi tutti.

ho fatto lo script che mi cambiava frase ed immagine ogni tot tempo e avevo impostato cosi :

HTML:
var frasi = new Array();          
frasi[0]= "Se la conoscenza crea problemi, <br> non e' con l'ignoranza che li si risolve";
frasi[1]= "Il linguaggio richiede di essere accordato come il violino... troppe o troppe poche parole guastano il messaggio.";
frasi[2]= "Il mondo e' piu' silenzioso, bisogna solo ascoltare.</br> Se sappiamo ascoltare possiamo sentire il progetto di Dio.";
frasi[3]= "Volevo ricordarti che l'amore e' rimanere </br> e non sparire per vedere se uno poi ci tiene.";
frasi[4]= "- Vai, cambia le tue stelle e vivi una vita migliore della mia.<br>- Ma si puo' fare padre... un uomo puo' cambiare il corso delle stelle?<br> - Si William, se ha fede sufficiente un uomo puo' fare tutto.";
frasi[5]= "Non e' elegante quando si ha una superiorita', farla notare, </br> ma e' da screanzati mettere uno nella necessita' di farla rilevare";
frasi[6]= "Giustizia. Quattro cose spengono la giustizia: </br> l'amore, l'odio, il timore e il guadagno";
frasi[7]= "Solo la luce che uno accende a se stesso, </br> risplende in seguito anche per gli altri";
frasi[8]= "La bellezza delle cose esiste nella mente di chi le contempla";
frasi[9]= "Le decisioni sono un modo per definire se stessi. </br> Sono il modo per dare vita e significato ai sogni. </br> Sono il modo per farci diventare cio' che vogliamo";
frasi[10]= "Gli uomini passano, le idee restano. <br> Restano le loro tensioni morali e continueranno <br> a camminare sulle gambe di altri uomini"; 
frasi[11]= "Il sorriso: una curva che puo' raddrizzare un sacco di cose.";




// imposti subito il primo elemento 0
    document.getElementById("citazione").innerHTML = frasi[0];
    // inizializzi il contatore al secondo elemento 1
    var id=1 
    function scrivere() { 
        if (id==frasi.length) { 
            id=0; 
        } 
        document.getElementById("citazione").innerHTML = frasi[id];
        id++ 
 

} 
    setInterval('scrivere()',86400000);

ma mi era sfuggito una cosa.... ogni volta che chiudo il sito o il blog il tempo che sta calcolando si resetta e quindi il valore dell'array non cambierà mai....

Ho letto sempre su questo sito il seguente script :

HTML:
<SCRIPT LANGUAGE="JavaScript">
<!--

now = new Date();
day = now.getDate();
month = now.getMonth() + 1;
document.write('<IMG SRC="immagini/' + day + '_' + month + '.jpg">');
//-->
</SCRIPT>

ma che non è attuabile con delle frasi diverse.... a meno che non creo 365 file js con dentro scritta la frase.

Non c'è un metodo che quando cambia data in automatico manda un valore successivo dell'array sia delle immagini che delle frasi ?
Grazie.
 

cavaliere123

Utente Attivo
31 Lug 2012
416
0
16
Forse soluzione

Anche su questo stesso sito ho trovato la soluzione alla mia domanda e anche se modificato un pochino, in modo da essere più chiaro posto qui lo script :

HTML:
var frasi = new Array();          
frasi[0]= "Se la conoscenza crea problemi, <br> non e' con l'ignoranza che li si risolve";
frasi[1]= "Il linguaggio richiede di essere accordato come il violino... troppe o troppe poche parole guastano il messaggio.";
frasi[2]= "Il mondo e' piu' silenzioso, bisogna solo ascoltare.</br> Se sappiamo ascoltare possiamo sentire il progetto di Dio.";
frasi[3]= "Volevo ricordarti che l'amore e' rimanere </br> e non sparire per vedere se uno poi ci tiene.";
frasi[4]= "- Vai, cambia le tue stelle e vivi una vita migliore della mia.<br>- Ma si puo' fare padre... un uomo puo' cambiare il corso delle stelle?<br> - Si William, se ha fede sufficiente un uomo puo' fare tutto.";
frasi[5]= "Non e' elegante quando si ha una superiorita', farla notare, </br> ma e' da screanzati mettere uno nella necessita' di farla rilevare";
frasi[6]= "Giustizia. Quattro cose spengono la giustizia: </br> l'amore, l'odio, il timore e il guadagno";
frasi[7]= "Solo la luce che uno accende a se stesso, </br> risplende in seguito anche per gli altri";
frasi[8]= "La bellezza delle cose esiste nella mente di chi le contempla";
frasi[9]= "Le decisioni sono un modo per definire se stessi. </br> Sono il modo per dare vita e significato ai sogni. </br> Sono il modo per farci diventare cio' che vogliamo";
frasi[10]= "Gli uomini passano, le idee restano. <br> Restano le loro tensioni morali e continueranno <br> a camminare sulle gambe di altri uomini"; 
frasi[11]= "Il sorriso: una curva che puo' raddrizzare un sacco di cose.";




    function scrivere() { 
        
var oggi=new Date();
var giorno=oggi.getDate();
var mese=oggi.getMonth()
var anno=oggi.getFullYear()
var totale=(giorno+mese+anno)
var calcolo=(totale%frasi.length);

        document.getElementById("citazione").innerHTML = frasi[calcolo];
      
 

} 
    setInterval('scrivere()',3000);


Ho fatto tante prove e funziona, ma una curiosità il simbolo % non è la funzione che da solo il resto di una operazione ?? Quindi se con due date diverse mi ritrovo lo stesso resto dovrebbe portarmi alla frase con il valore del resto come id, invece va avanti, cioè mi posta cmq la frase successiva....
Forse data l'ora sto prendendo un abbaglio ma non so spiegarmi la cosa...

E poi se potete un'altra cosa, come vedete il setintervall è impostato a 3 sec per evitare che chi apre la pagina debba aspettare troppo prima di vedere comparire la prima scritta, se imposto un elemento prima della funzione ogni volta anche se per pochi secondi si vedrà sempre la stessa frase, non c'è un metodo diverso ??

Grazie come sempre delle vostre risposte :) Domenico.
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
E poi se potete un'altra cosa, come vedete il setintervall è impostato a 3 sec per evitare che chi apre la pagina debba aspettare troppo prima di vedere comparire la prima scritta, se imposto un elemento prima della funzione ogni volta anche se per pochi secondi si vedrà sempre la stessa frase, non c'è un metodo diverso ??

puoi creare un numero a caso tra 0 e la lunghezza del tuo array
Codice:
var rand = Math.floor(Math.random()*frasi.length);
document.getElementById("citazione").innerHTML = frasi[rand];

ma non ho capito cosa vorresti fare con l'oggetto Date()
 

cavaliere123

Utente Attivo
31 Lug 2012
416
0
16
Risposta

Buonasera, pensavo che ci fosse un metodo, una funzione che si accorgesse quando cambia la data e a questo evento facesse scorre di un elemento nell'array, nella procedura che ho postato mi è servito solo per fare un calcolo e dividerlo per la lunghezza dell'array cosi da far scorrere ogni volta che cambia la data e quindi la somma .... tutto qua. Spero di essere stato chiaro.
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Potresti scrivere 31 frasi e cambiarla ogni giorno cosi
Codice:
var data=new Date();
document.getElementById("citazione").innerHTML = frasi[data.getDate()-1];
 

cavaliere123

Utente Attivo
31 Lug 2012
416
0
16
Mi potrebbe dare una mano all'altro mia discussione per cortesia ??? sempre se non è di disturbo ... altrimenti taccio :)
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
E se ne facessi 366 di frasi ???
potresti indicare nell'indice il mese e il giorno corrente
Codice:
 <script>
            var frasi = new Array();          
            frasi[81]= "1 agosto";
            frasi[88]= "8 agosto";
            frasi[1225]= "25 dicembre";
            var oggi=new Date();
            var giorno=oggi.getDate();
            var mese=oggi.getMonth()
            document.getElementById("citazione").innerHTML = frasi[mese + 1 + "" + giorno];
        </script>
Mi potrebbe dare una mano all'altro mia discussione per cortesia ??
gi ho dato una letta veloce ma non è cosi semplice da interpretare Appena ho un po piu di tempo gli ridaro un altra occhiata
 

cavaliere123

Utente Attivo
31 Lug 2012
416
0
16
Grazie

Gentilissimo.... lo script funziona benissimo.... a volte le cose più semplici sono le migliori.... ed io che cercavo l'algoritmo del secolo e vabbè :))) Per l'altra cosa, quando vuoi, ci mancherebbe ... anzi già gentilissimi :) Un saluto.
 

luandama

Nuovo Utente
8 Mag 2023
1
0
1
potresti indicare nell'indice il mese e il giorno corrente
Codice:
 <script>
            var frasi = new Array();         
            frasi[81]= "1 agosto";
            frasi[88]= "8 agosto";
            frasi[1225]= "25 dicembre";
            var oggi=new Date();
            var giorno=oggi.getDate();
            var mese=oggi.getMonth()
            document.getElementById("citazione").innerHTML = frasi[mese + 1 + "" + giorno];
        </script>

gi ho dato una letta veloce ma non è cosi semplice da interpretare Appena ho un po piu di tempo gli ridaro un altra occhiata
Chiedo scusa. Dopo ricerche sono arrivato a testare questo script che per oggi, 8 maggio, funziona, ma mi sorge un problema:
JavaScript:
 <script>
            var frasi = new Array(); 
            frasi[111]= "11 gennaio"
            frasi[112]= "12 gennaio";
            //.........
            frasi[101]= "1 ottobre"
            //.........
            frasi[111]= "1 novembre"
            frasi[112]= "2 novembre";
            //.......
            frasi[1225]= "25 dicembre";
            var oggi=new Date();
            var giorno=oggi.getDate();
            var mese=oggi.getMonth()
            document.getElementById("citazione").innerHTML = frasi[mese + 1 + "" + giorno];
        </script>
come faccio a non far coincidere le date 11 gennaio con 1 novembre?
Grazie.
 
Stato
Chiusa ad ulteriori risposte.
Discussioni simili
Autore Titolo Forum Risposte Data
F Url dinamiche da cambiare con categoria, subcategoria e title PHP 2
D Aiuto CSS in ELEMENTOR - Cambiare un testo CMS (Content Management System) 0
M Cambiare pennello a lavoro completo Photoshop 0
R Cambiare il nome dell'immagine dopo caricamento ftp HTML e CSS 0
Y cambiare sfondo di una pagina Javascript 1
E Cambiare lingua in Elements per Mac Mac e Software 2
R Non riesco a cambiare l'immagine di sfondo PHP 4
K Cambiare font size su echo stringa variabile PHP 24
V [PHP Symphony] Cambiare da ApcCache ad OpCache PHP 4
P Cambiare visualizzazione con JS Javascript 1
Web93 CAMBIARE TAG POST TITOLO DA H2 A H1 WordPress 1
L [PHP] cambiare gli if in un url semplice PHP 1
G Cambiare colore ad un record database mysql MySQL 0
Domenico_Falco1 Cambiare url in un sito con pagine dinamiche Ajax 4
L Cambiare classi solo scroll up jQuery 2
Topografo Buon 2019 (Tutti gli altri hanno scritto "Salve a tutti", cerchiamo di cambiare) Presentati al Forum 1
joomeph Cambiare Nome Utente Supporto Mr.Webmaster 3
M [Visual Basic] Cambiare lo stato in checked delle checkbox richiamando dati dal database Visual Basic 6
Koboshi Cambiare il css di una pagina con tasto "on off" HTML e CSS 5
Licantropo [MySQL] Cambiare le date MySQL 4
B [Javascript] Cambiare classe ed aggiornare relativi eventi Javascript 3
L Cambiare nome pagina facebook Annunci servizi di Social Media Marketing 4
P [HTML] Wordpress - cambiare font di un tema WordPress 1
L APPARECCHIO VOIP DA CAMBIARE Adsl e Connettività 0
T cambiare formato in uscita timestamp Database 0
O Allo scroll cambiare colore di sfondo jQuery 0
crealatualista [Javascript] Cambiare record tabella... Javascript 4
napuleone [Javascript] cambiare i parametri di stampa con js Javascript 2
DaveCricket [WordPress] [PHP] Cambiare il colore del link di una pagina attiva WordPress 3
V javascript - cambiare immagine di sfondo di un div Javascript 3
D [Javascript] Script che consenta di cambiare un'immagine in base all'ora del giorno della settimana Javascript 11
B CAMBIARE PAGINA INIZIALE PHPMYADMIN MySQL 2
webmachine [WORDPRESS] Cambiare titolo pagina articoli WordPress 0
webmachine [WOOCOMMERCE][WORDPRESS] Cambiare testo pulsante Acquista E-Commerce 0
webmachine [PRESTASHOP] Cambiare ordine prezzo-sconto-prezzoscontato E-Commerce 1
B CAMBIARE TEMPLATES PHPMYADMIN MySQL 0
otto9due Dreamweaver CC 2017 - cambiare colorazione codice Windows e Software 5
webmachine [JQUERY] Cambiare immagine al click, toggle jQuery 1
A Cambiare Risposta onclick con Switch. Javascript 1
V Cambiare colore ad un button HTML e CSS 3
E Cambiare l'option di un select con jquery jQuery 1
ecosito CSS: è possibile cambiare font con uno non di uso comune? HTML e CSS 11
Jonn [Javascript] Cambiare colore sfondo div allo scroll del mouse Javascript 3
Shyson Cambiare color all'onclick Javascript 9
elettroweb come cambiare testo Flash 0
M Cambiare dinamicamente il contenuto di un DIV Javascript 4
M Cambiare valore ad un campo in base alla selezione fatta nel menu a tendina PHP 16
R Cambiare la variabile in modo permanente PHP 3
P Cambiare il valore di un campo tabella con un pulsante cliccabile PHP 2
B cambiare sfondo alle celle della tabella Javascript 1

Discussioni simili