• Super User

    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


  • User Attivo

    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&#40;&#41;&#123; 
    // <-------- 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&#40;&#41; 
    var oggi_giorno = oggi.getDate&#40;&#41; 
    
    
    var secondi = Date.parse&#40;oggi_data&#41;; 
    
    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&#40;'![image](immagini/' + numero_immagine +'.jpg)'&#41;; 
    &#125; 
    </script> 
    
    

    :mmm:


  • Super User

    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.


  • User Attivo

    @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&#40;&#41;&#123; 
    // <-------- Variabili modificabili 
    var numero_immagini = 30; // imposta il numero di immagini da utilizzare 
    var secondi_intervallo = 86400 = 1 giorno ecc. 
    // -----------------------------> 
    
    var oggi = new Date&#40;&#41; 
    var oggi_giorno = oggi.getDate&#40;&#41; 
    var secondi = Date.parse&#40;oggi_data&#41;; 
    
    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&#40;'![image](immagini/' + numero_immagine +'.jpg)'&#41;; 
    &#125; 
    </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);


  • Super User

    @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);
    😮 :arrabbiato:
    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&#40;&#41;&#123;
    // <-------- 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&#40;"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec "&#41;;
    var oggi = new Date&#40;&#41;
    var oggi_anno = oggi.getYear&#40;&#41;
    var oggi_mese = oggi.getMonth&#40;&#41;
    var oggi_giorno = oggi.getDate&#40;&#41;
    var oggi_data = mesi&#91;oggi_mese&#93; + " " + oggi_giorno + ", " + oggi_anno;
    
    var secondi = Date.parse&#40;oggi_data&#41;;
    
    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&#40;'![image](immagini/' + numero_immagine +'.jpg)'&#41;;
    &#125;
    </script>
    
    

    Per maggiori informazioni consulta una buona guida di javascript 😉


  • User Attivo

    grazie 😉 🙂


  • User Attivo

    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? 😮


  • User Attivo

    :mmm:


  • Super User

    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&#40;&#41;&#123;
    // <-------- 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&#40;"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec "&#41;;
    var oggi = new Date&#40;&#41;;
    var oggi_data = mesi&#91;oggi.getMonth&#40;&#41;&#93;+" "+oggi.getDate&#40;&#41;+", "+oggi.getYear&#40;&#41;+" "+ oggi.getHours&#40;&#41;+":"+oggi.getMinutes&#40;&#41;+"&#58;"+oggi.getSeconds&#40;&#41;;
    
    var secondi = Date.parse&#40;oggi_data&#41;/1000;
    
    var numero_intervalli = Math.floor&#40;secondi / secondi_intervallo&#41;; //normalizza in intervalli
    var numero_immagine = numero_intervalli % numero_immagini; // normalizza il numero di intervalli al numero delle immagini
    document.write&#40;'![image](immagini/' + numero_immagine +'.jpg)'&#41;;
    
    
    &#125;
    </script>
    
    

    Speriamo questa sia stabile... in caso ti da' altri problemi fammelo presente.

    Scusami ()


  • User Attivo

    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!! :arrabbiato: 😢


  • Super User

    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&#40;&#41;&#123;
    // <-------- 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&#40;"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec "&#41;;
    var oggi = new Date&#40;&#41;;
    var oggi_data = mesi&#91;oggi.getMonth&#40;&#41;&#93;+" "+oggi.getDate&#40;&#41;+", "+oggi.getYear&#40;&#41;+" "+ oggi.getHours&#40;&#41;+":"+oggi.getMinutes&#40;&#41;+"&#58;"+oggi.getSeconds&#40;&#41;;
    
    var secondi = Math.abs&#40; Date.parse&#40;oggi_data&#41;/1000&#41;;
    var numero_intervalli = Math.floor&#40;secondi / secondi_intervallo&#41; ; //normalizza in intervalli
    var numero_immagine = &#40;numero_intervalli % numero_immagini&#41;; // normalizza il numero di intervalli al numero delle immagini
    document.write&#40;'![image](immagini/' + numero_immagine +'.jpg)'&#41;;
    
    &#125;
    </script>
    
    

    Adesso funziona anche con firefox se gli passi correttamente le 30 immagini 🙂


  • User Attivo

    ORA PROVO


  • User Attivo

    ora visualizza le foto correttamente... ho messo una settimana per la variazione delle foto... vedo se funziona ti so dire :vaiii:

    Ti ringrazio Claudio.


  • User Newbie

    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:


  • Super User

    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:

  • User Newbie

    grazie!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 😄


  • User Attivo

    ok


  • Super User

    @Marco79 said:

    grazie!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! :D:)

    vecchi post che tornano utili 😉