• User Attivo

    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&#40;&#41;&#123; 
    var miaimagine=new Array&#40;&#41; 
    //spicifich il l'immagine qua sotto. 
    miaimagine&#91;1&#93;='![image](images/11.jpg)'
    miaimagine&#91;2&#93;='![image](images/12.jpg)'
    miaimagine&#91;3&#93;='![image](images/13.jpg)'
    miaimagine&#91;4&#93;='![image](images/14.jpg)'
    miaimagine&#91;5&#93;='![image](images/15.jpg)'
    miaimagine&#91;6&#93;='![image](images/16.jpg)'
    miaimagine&#91;7&#93;='![image](images/28.jpg)'
    miaimagine&#91;8&#93;='![image](images/18.jpg)'
    miaimagine&#91;9&#93;='![image](images/28.jpg)'
    miaimagine&#91;10&#93;='![image](images/20.jpg)'
    miaimagine&#91;11&#93;='![image](images/21.jpg)'
    miaimagine&#91;12&#93;='![image](images/22.jpg)'
    miaimagine&#91;13&#93;='![image](images/25.jpg)'
    miaimagine&#91;14&#93;='![image](images/28.jpg)'
    var ry=Math.floor&#40;Math.random&#40;&#41;*miaimagine.length&#41; 
    if &#40;ry==0&#41; 
    ry=1 
    document.write&#40;miaimagine&#91;ry&#93;&#41; 
    &#125; 
    random_contenuto&#40;&#41; 
    //--></script>
    

  • Super User

    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&#40;&#41;&#123;
    var data = new Date&#40;&#41;;
    var giorno = data.getDay&#40;&#41;;
    // 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&#40;'![image](immagini/' + giorno +'.jpg)'&#41;;
    &#125;
    </script>
    
    
    
    
    
    <script language="javascript" type="text/javascript">
    immagine_giorno&#40;&#41;;
    </script>
    
    

    AGGIUNTO Avevo capito male la tua richiesta.. Ora lo modifico.


  • User Attivo

    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...


  • Super User

    @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&#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>
    
    
    
    <script language="javascript" type="text/javascript">
    immagine_variabile&#40;&#41;;
    </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


  • User Attivo

    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&#40;&#41;&#123; 
    var data = new Date&#40;&#41;; 
    var giorno = data.getDay&#40;&#41;; 
    // 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&#40;'![image](immagini/' + giorno +'.jpg)'&#41;; 
    &#125; 
    </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 :ciauz:


  • 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: