- Home
- Categorie
- Coding e Sistemistica
- HTML e CSS
- Immagine varia una volta alla settimana!
-
Immagine varia una volta alla settimana!
Ciao ragazzi... curiosità? Esiste uno script o codice html che permetta di mettere in home page o come pagina d'estrata di un sito una immagine che cambia ( a random....) una VOLTA ALLA SETTIMANA?
-
So che esiste il radom delle immagini...quello si ... ma le varia ogni volta al suo caricamento.... non so se è possibile modificare quello ()
-
Sicuramente si può modificare. Anzichè legare l'immagine ad un numero random potresti legarlo in maniera opportuna al numero corrispondente al giorno della settimana.
var immagini = new makeArray("Domenica.gif","Lunedí.gif","Martedí.gif","Mercoledí.gif", "Giovedí.gif","Venerdí.gif","Sabato.gif");
numerogiorno = t.getDay();
Non dovrebbe essere molto difficile. Sono sicuro che puoi farcela...
-
Ciao claudioweb ehm... vediamo un po; se ti do il codice random originale te riesci a modificarlo?
Questo è il codice originale random :
<script language=JavaScript><!-- function random_contenuto(){ var miaimagine=new Array() //spicifich il l'immagine qua sotto. miaimagine[1]='![image](images/11.jpg)' miaimagine[2]='![image](images/12.jpg)' miaimagine[3]='![image](images/13.jpg)' miaimagine[4]='![image](images/14.jpg)' miaimagine[5]='![image](images/15.jpg)' miaimagine[6]='![image](images/16.jpg)' miaimagine[7]='![image](images/28.jpg)' miaimagine[8]='![image](images/18.jpg)' miaimagine[9]='![image](images/28.jpg)' miaimagine[10]='![image](images/20.jpg)' miaimagine[11]='![image](images/21.jpg)' miaimagine[12]='![image](images/22.jpg)' miaimagine[13]='![image](images/25.jpg)' miaimagine[14]='![image](images/28.jpg)' var ry=Math.floor(Math.random()*miaimagine.length) if (ry==0) ry=1 document.write(miaimagine[ry]) } random_contenuto() //--></script>
-
Non mi piace quello script...
Te l'ho fatto io da zero lo script. OK
Però devi iniziare a studiare...<script language="javascript" type="text/javascript"> // Un'immagine diverso ogni giorno della settimana //Creato da Claudio Matarrelli - 2005 - [email][email protected][/email] function immagine_giorno(){ var data = new Date(); var giorno = data.getDay(); // Le immagini devono chiamarsi con numeri da 0 a 6 e essere inserite nella cartella immagini. // 0.jpg --> Dom, 1.jpg --> Lun, 2.jpg --> Mar, 3.jpg --> Mer, 4.jpg --> Gio, 5.jpg --> Ven, 6.jpg --> Sab document.write('![image](immagini/' + giorno +'.jpg)'); } </script>
<script language="javascript" type="text/javascript"> immagine_giorno(); </script>
AGGIUNTO Avevo capito male la tua richiesta.. Ora lo modifico.
-
claudioweb non maledirmi non sono un super appassionato di web ma lo uso solo per qualche scopo....
Devo provare il codice....ma se volessi fare in modo che ad OGNI SETTIMANA (quindi ogni 7 giorni) ci sia un'immagine diversa , si può fare?.... cioè per spiegarmi meglio....
io ho più di 7 immagini da mettere a random... per quello sarei limitato facendo lun mar mer giov ven sab e dom... non so se mi spiego...
-
@fasa said:
claudioweb non maledirmi non sono un super appassionato di web ma lo uso solo per qualche scopo....
lo capisco, infatti per questa volta ti ho fatto tutto io. La prossima volta non potro' darti altro se non indicazioni e consigli. Oggi diciamo che l'ho fatto per mantenermi in esercizio.<script language="javascript" type="text/javascript"> //Permette la variazione delle immagini visualizzate con intervallo a scelta //Claudio Matarrelli 2005 - [email][email protected][/email] function immagine_variabile(){ // <-------- Variabili modificabili var numero_immagini = 30; // imposta il numero di immagini da utilizzare var secondi_intervallo = 86400; //Seleziona l'intervallo espresso in secondi, 86400 = 1 giorno ecc. // -----------------------------> var mesi = new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec "); var oggi = new Date(); var oggi_data = mesi[oggi.getMonth()]+" "+oggi.getDate()+", "+oggi.getYear()+" "+ oggi.getHours()+":"+oggi.getMinutes()+":"+oggi.getSeconds(); var secondi = Date.parse(oggi_data)/1000; var numero_intervalli = Math.floor(secondi / secondi_intervallo); //normalizza in intervalli var numero_immagine = numero_intervalli % numero_immagini; // normalizza il numero di intervalli al numero delle immagini document.write('![image](immagini/' + numero_immagine +'.jpg)'); } </script>
<script language="javascript" type="text/javascript"> immagine_variabile(); </script>
Spero funzioni per bene... Le immagini vanno sempre nella cartella "immagini" e devono avere nomi numerici 0.jpg, 1.jpg, 2.jpg ecc.
Dovrebbero essere mostrate in ordine inverso. Cioe' 10.jpg, 9.jpg, 8.jpg... ecc. fino alla 0.jpg
-
Claudioweb... una curiosità :
in base al codice che hai scritto :
<script language="javascript" type="text/javascript"> // Un'immagine diverso ogni giorno della settimana //Creato da Claudio Matarrelli - 2005 - [email][email protected][/email] function immagine_giorno(){ var data = new Date(); var giorno = data.getDay(); // Le immagini devono chiamarsi con numeri da 0 a 6 e essere inserite nella cartella immagini. // 0.jpg --> Dom, 1.jpg --> Lun, 2.jpg --> Mar, 3.jpg --> Mer, 4.jpg --> Gio, 5.jpg --> Ven, 6.jpg --> Sab document.write('![image](immagini/' + giorno +'.jpg)'); } </script>
se al posto di... 1.jpg , 2.jpg ---- 6.jpg voglio mettere più immagini ad esempio sono 30 immagini è fattibile?... cioè mi spiego meglio;
io volevo che ad esempio 1 volta al giorno visualizzasse una immagine diversa che però siano più di "7" (riferito nell'arco di una settimana) e quindi che l'utente possa visualizzare ogni giorno un'immagine diversa...
spero di essermi fatto capire
-
Forse non ti sei accorto che il secondo script he ho postato e' molto piu' elaborato e prevede di poter impostare a proprio piacimento il numero di immagini e ogni quanto scambiarle.
Devi solo cambiare quei numeri e mettere quelli che ti fanno comodo.<script language="javascript" type="text/javascript">
//Permette la variazione delle immagini visualizzate con intervallo a scelta
//Claudio Matarrelli 2005 - [email][email protected][/email]function immagine_variabile(){
// <-------- Variabili modificabili
var numero_immagini = *7 *; // imposta il numero di immagini da utilizzare
var secondi_intervallo = 640800; //Seleziona l'intervallo espresso in secondi, 640800 = 1 settimana, 86400 = 1 giorno ecc.
// ----------------------------->
var mesi = new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec ");
var oggi = new Date();
var oggi_data = mesi[oggi.getMonth()]+" "+oggi.getDate()+", "+oggi.getYear()+" "+ oggi.getHours()+":"+oggi.getMinutes()+":"+oggi.getSeconds();var secondi = Date.parse(oggi_data)/1000;
var numero_intervalli = Math.floor(secondi / secondi_intervallo); //normalizza in intervalli
var numero_immagine = numero_intervalli % numero_immagini; // normalizza il numero di intervalli al numero delle immagini
document.write('![image](immagini/' + numero_immagine +'.jpg)');}
</script><script language="javascript" type="text/javascript">
immagine_variabile();
</script>Ricordati che le immagini devono partire da 0.jpg
-
ah ecco! quindi teoricamente il codice per l'immagine giornaliera sarebbe così composto ? :
<script language="javascript" type="text/javascript"> //Permette la variazione delle immagini visualizzate con intervallo a scelta //Claudio Matarrelli 2005 - [email][email protected][/email] function immagine_variabile(){ // <-------- Variabili modificabili var numero_immagini = 30; // imposta il numero di immagini da utilizzare var secondi_intervallo = 640800; //Seleziona l'intervallo espresso in secondi, 640800 = 1 settimana, 86400 = 1 giorno ecc. // -----------------------------> var oggi = new Date() var oggi_giorno = oggi.getDate() var secondi = Date.parse(oggi_data); var numero_settimane = secondi % secondi_intervallo; //normalizza in intervalli var numero_immagine = numero_settimane % numero_immagini; // normalizza il numero di intervalli al numero delle immagini document.write('![image](immagini/' + numero_immagine +'.jpg)'); } </script>
-
Così scambia tra loro 30 immagini (da 0.jpg a 29.jpg), ma se vuoi che lo scambio avvenga ogni giorno devi modificare l'intervallo ogni quanto avviene lo scambio. E' espresso in secondi, quindi per un giorno devi mettere 86400.
var secondi_intervallo = 86400; //Seleziona l'intervallo espresso in secondi, 640800 = 1 settimana, 86400 = 1 giorno ecc.
-
@claudioweb said:
Così scambia tra loro 30 immagini (da 0.jpg a 29.jpg), ma se vuoi che lo scambio avvenga ogni giorno devi modificare l'intervallo ogni quanto avviene lo scambio. E' espresso in secondi, quindi per un giorno devi mettere 86400.
var secondi_intervallo = 86400; //Seleziona l'intervallo espresso in secondi, 640800 = 1 settimana, 86400 = 1 giorno ecc.
quindi il codice corretto è :
<script language="javascript" type="text/javascript"> //Permette la variazione delle immagini visualizzate con intervallo a scelta //Claudio Matarrelli 2005 - [email][email protected][/email] function immagine_variabile(){ // <-------- Variabili modificabili var numero_immagini = 30; // imposta il numero di immagini da utilizzare var secondi_intervallo = 86400 = 1 giorno ecc. // -----------------------------> var oggi = new Date() var oggi_giorno = oggi.getDate() var secondi = Date.parse(oggi_data); var numero_settimane = secondi % secondi_intervallo; //normalizza in intervalli var numero_immagine = numero_settimane % numero_immagini; // normalizza il numero di intervalli al numero delle immagini document.write('![image](immagini/' + numero_immagine +'.jpg)'); } </script>
ho eliminato alcune variabili che erano all'interno del codice , non so se ho fatto giusto ; ora rimangono
var oggi = new Date()
var oggi_giorno = oggi.getDate()
var secondi = Date.parse(oggi_data);
-
@fasa said:
ho eliminato alcune variabili che erano all'interno del codice , non so se ho fatto giusto ; ora rimangono
var oggi = new Date()
var oggi_giorno = oggi.getDate()
var secondi = Date.parse(oggi_data);
Ma che fai come quelli che smontano qualcosa e buttano via i pezzi che non sanno come rimontare???
Il mio script funzionava... Prova a vedere se il tuo funziona, ma non credo visto hai messo = al posto di // che sono i commenti e la sintassi di parse() richiede tutte quelle variabili.Lo script completo che devi usare per quanto mi riguarda e' questo:
<script language="javascript" type="text/javascript"> //Permette la variazione delle immagini visualizzate con intervallo a scelta //Claudio Matarrelli 2005 - [email][email protected][/email] function immagine_variabile(){ // <-------- Variabili modificabili var numero_immagini = 30; // imposta il numero di immagini da utilizzare var secondi_intervallo = 86400; //Seleziona l'intervallo espresso in secondi, 86400 = 1 giorno ecc. // -----------------------------> var mesi = new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec "); var oggi = new Date() var oggi_anno = oggi.getYear() var oggi_mese = oggi.getMonth() var oggi_giorno = oggi.getDate() var oggi_data = mesi[oggi_mese] + " " + oggi_giorno + ", " + oggi_anno; var secondi = Date.parse(oggi_data); var numero_settimane = secondi % secondi_intervallo; //normalizza in intervalli var numero_immagine = numero_settimane % numero_immagini; // normalizza il numero di intervalli al numero delle immagini document.write('![image](immagini/' + numero_immagine +'.jpg)'); } </script>
Per maggiori informazioni consulta una buona guida di javascript
-
grazie
-
ah...ho riscontrato un piccolo errore che non fa comparire l'immagine!!...
ovvero andrebbe tutto bene, ma quando devo comparire l'immagine non esce perchè al posto di comparire ad esempio ** immagini/22.jpg ** compare un strano segno meno prima dell'immagine ** immagini/-22.jpg ** , da cosa può dipendere?
-
-
Ciao, come tutti gli script da me improvvisati in 10 minuti, senza essere testati, questo conteneva qualche bug piuttosto serio specialmente quando l'intervallo di tempo veniva ridotto da settimane a giorni
Prova a utilizzare questa nuova versione:
<script language="javascript" type="text/javascript"> //Permette la variazione delle immagini visualizzate con intervallo a scelta //Claudio Matarrelli 2005 - [email][email protected][/email] function immagine_variabile(){ // <-------- Variabili modificabili var numero_immagini = 30; // imposta il numero di immagini da utilizzare var secondi_intervallo = 86400; //Seleziona l'intervallo espresso in secondi, 86400 = 1 giorno ecc. // -----------------------------> var mesi = new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec "); var oggi = new Date(); var oggi_data = mesi[oggi.getMonth()]+" "+oggi.getDate()+", "+oggi.getYear()+" "+ oggi.getHours()+":"+oggi.getMinutes()+":"+oggi.getSeconds(); var secondi = Date.parse(oggi_data)/1000; var numero_intervalli = Math.floor(secondi / secondi_intervallo); //normalizza in intervalli var numero_immagine = numero_intervalli % numero_immagini; // normalizza il numero di intervalli al numero delle immagini document.write('![image](immagini/' + numero_immagine +'.jpg)'); } </script>
Speriamo questa sia stabile... in caso ti da' altri problemi fammelo presente.
Scusami ()
-
stavo quasi per gioire...perchè con Explorer funziona (anche se devo testarlo per un po' di tempo), ma con Mozzilla Firefox da errore o meglio non vede l'immagini!!
-
Fatta un'ulteriore aggiustatina
<script language="javascript"> //Permette la variazione delle immagini visualizzate con intervallo a scelta //Claudio Matarrelli 2005 - [email][email protected][/email] function immagine_variabile(){ // <-------- Variabili modificabili var numero_immagini = 30; // imposta il numero di immagini da utilizzare var secondi_intervallo = 86400; //Seleziona l'intervallo espresso in secondi, 86400 = 1 giorno ecc. // -----------------------------> var mesi = new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec "); var oggi = new Date(); var oggi_data = mesi[oggi.getMonth()]+" "+oggi.getDate()+", "+oggi.getYear()+" "+ oggi.getHours()+":"+oggi.getMinutes()+":"+oggi.getSeconds(); var secondi = Math.abs( Date.parse(oggi_data)/1000); var numero_intervalli = Math.floor(secondi / secondi_intervallo) ; //normalizza in intervalli var numero_immagine = (numero_intervalli % numero_immagini); // normalizza il numero di intervalli al numero delle immagini document.write('![image](immagini/' + numero_immagine +'.jpg)'); } </script>
Adesso funziona anche con firefox se gli passi correttamente le 30 immagini
-
ORA PROVO