- Home
- Categorie
- Coding e Sistemistica
- HTML e CSS
- Immagine varia una volta alla settimana!
-
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!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-
ok
-