- Home
- Categorie
- Coding e Sistemistica
- HTML e CSS
- Immagine varia una volta alla settimana!
-
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
-
ora visualizza le foto correttamente... ho messo una settimana per la variazione delle foto... vedo se funziona ti so dire
Ti ringrazio Claudio.
-
Posso chiederti un favore?
Non capisco niente o quasi di javascript, e mi servirebbe un codice che mi permetta di cambiare in automatico un' immagine diversa al minuto per un giorno, quindi 1440 minuti per poi ricominciare il ciclo dalla prima...
Puoi?
:bho:
-
Ciao Marco, benvenuto nel forum.
Nel codice dello script precedente c'è scritto chiaramente quali parametri andare a toccare per modificare l'intervallo per quanto dura un'immagine...
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.Quindi cambi quel 30 con quante immagini hai a disposizione, poi se ci metti ```
var secondi_intervallo = 60;Ti ricordo che le immagini devo avere nomi 0.jpg, 1.jpg, 2.jpg ecc... e si devono trovare nella cartella *immagini/* Metti nelle head della pagina questo codice opportunamente modificato nelle parti in rosso: > <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> Invece metti nel punto della pagina dove vuoi l'immagine questo codice
<script language="javascript" type="text/javascript">
<!--
immagine_giorno();
/-->
</script>Ciao :ciauz:
-
grazie!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!