Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2015
    Messaggi
    6

    Immagini che si caricano ogni ora AUTOMATICAMENTE

    Ciao a tutti, ho un problemino che non so come risolvere magari per voi sarà facile aiutarmi;
    Ho uno script che mi carica delle immagini ad ogni ora e funziona ma il problema e che quando scatta l'ora devo ricaricare la pagina per visualizzare l'immagine nuova, potrei aggiungere uno script che mi ricarica automaticamente la pagina ma non è quello che voglio altrimenti mi causa un brutto effetto senza contare che brucerebbe connessione a go go per chi non usa la 24h, quello che vorrei cercare di fare e che l'immagine che carica alle X:00 oltre che caricarla me la mostri cambiandomela subito.
    E' possibile risolvere la cosa secondo voi? che sicuramente ne sapete più di me.
    Grazie in anticipo per l'aiuto e per il vostro tempo.

    Allego le parti di script:

    codice HTML:
    <script type="text/javascript">
    d=document; today=new Date(); hour=today.getHours();
    if(hour<2) d.write("<img src=\"1.gif\" width=\"150\" height=\"150\" >");
    else if(hour<3) d.write("<img src=\"2.gif\" width=\"150\" height=\"150\" >");
    else if(hour<4) d.write("<img src=\"3.gif\" width=\"150\" height=\"150\" >");
    else if(hour<5) d.write("<img src=\"4.gif\" width=\"150\" height=\"150\" >");
    else if(hour<6) d.write("<img src=\"5.gif\" width=\"150\" height=\"150\" >");
    else if(hour<7) d.write("<img src=\"6.gif\" width=\"150\" height=\"150\" >");
    else if(hour<8) d.write("<img src=\"7.gif\" width=\"150\" height=\"150\" >");
    else if(hour<9) d.write("<img src=\"8.gif\" width=\"150\" height=\"150\" >");
    else if(hour<10) d.write("<img src=\"9.gif\" width=\"150\" height=\"150\" >");
    else if(hour<11) d.write("<img src=\"10.gif\" width=\"150\" height=\"150\" >");
    else if(hour<12) d.write("<img src=\"11.gif\" width=\"150\" height=\"150\" >");
    else if(hour<13) d.write("<img src=\"12.gif\" width=\"150\" height=\"150\" >");
    else if(hour<14) d.write("<img src=\"1.gif\" width=\"150\" height=\"150\" >");
    else if(hour<15) d.write("<img src=\"2.gif\" width=\"150\" height=\"150\" >");
    else if(hour<16) d.write("<img src=\"3.gif\" width=\"150\" height=\"150\" >");
    else if(hour<17) d.write("<img src=\"4.gif\" width=\"150\" height=\"150\" >");
    else if(hour<18) d.write("<img src=\"5.gif\" width=\"150\" height=\"150\" >");
    else if(hour<19) d.write("<img src=\"6.gif\" width=\"150\" height=\"150\" >");
    else if(hour<20) d.write("<img src=\"7.gif\" width=\"150\" height=\"150\" >");
    else if(hour<21) d.write("<img src=\"8.gif\" width=\"150\" height=\"150\" >");
    else if(hour<22) d.write("<img src=\"9.gif\" width=\"150\" height=\"150\" >");
    else if(hour<23) d.write("<img src=\"10.gif\" width=\"150\" height=\"150\" >");
    else if(hour<24) d.write("<img src=\"11.gif\" width=\"150\" height=\"150\" >");
    else if(hour<1) d.write("<img src=\"12.gif\" width=\"150\" height=\"150\" >");
    else d.write("<img src='status.gif'>")
    </script>
    
    <body onload="autoReload()" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2015
    Messaggi
    6
    il body non c'entra niente e un'altra cosa sbagliato il copia/incolla

  3. #3
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Ciao, puoi usare semplicemente un elemento <img> come segnaposto sul tuo html, quindi aggiornare via JavaScript solo l'attributo src di tale elemento. Questo mostra la nuova immagine senza bisogno di aggiornare la pagina. Poi con un setInterval o setTimeout puoi eseguire dei controlli ogni tot in modo da aggiornare l'elemento img al cambio di ora.

    Posto un esempio pratico da cui puoi prendere spunto:
    codice:
    <!DOCTYPE HTML>
    <html>
      <head>
        <title>Esempio</title>
        <meta charset="utf-8">
        <script type="text/javascript">
          window.onload = function(){
            var imgLoop = {                                                                                     // aggiorna l'img ogni ora secondo l'elenco specificato
              src: [
                  "smile.gif"                                                                                   // ora 0
                , "frown.gif"                                                                                   // ora 1
                , "what.gif"                                                                                    // ...e così via
                , "mad.png"
                , "tongue.png"
                , "blink.gif"
                , "biggrin.gif"
                , "redface.png"
                , "rolleyes.png"
                , "cool.png"
                , "eek.gif"
                , "030.gif"
                , "jam.gif"
                , "dotto.gif"
                , "stordita.gif"
                , "fagiano.gif"
                , "nondirlo.gif"
                , "noncisiamo.gif"
                , "metallica.gif"
                , "sgrat.gif"
                , "senzasperanza.gif"
                , "sbonk.gif"
                , "dho.gif"
                , "cool.gif"
              ]
              , path: "http://forum.html.it/forum/images/smilies/"                                              // percorso della cartella immagini
              , tagImg: imgBox                                                                                  // elemento img
              , delay: {}                                                                                       // oggetto per setTimeout
              , start: function(updateImg){                                                                     // funzione di avvio loop
                var now = new Date()                                                                            // questo istante
                var leftTime = 3600000 - now.getMilliseconds() - now.getSeconds()*1000 - now.getMinutes()*60;   // tempo rimanente fino allo scoccare della prossima ora
                (leftTime >= 2000)? leftTime*=.75 : leftTime+=5;                                                // uso 3/4 del tempo rimanente con un minimo di 2 secondi
                if (updateImg) imgLoop.update(now.getHours());                                                  // se indicato, aggiorno l'immagine
                imgLoop.delay = setTimeout(imgLoop.start,leftTime,leftTime < 2000)                              // timer per il prossimo controllo. Indico di aggiornare l'img se mancano meno di 2 sec
              }
              , update: function(id){                                                                           // funzione di aggiornamento img
                id = id || new Date().getHours();
                imgLoop.tagImg.src = imgLoop.path + imgLoop.src[id];
              }
              , stop: function(){                                                                               // funzione di interruzione loop
                clearTimeout(imgLoop.delay)
              }
            }
            imgLoop.start(true);                                                                                // avvio il loop
          }
        </script>
      </head>
      <body>
        <img id="imgBox" src="noimg" alt="">
      </body>
    </html>
    Ovviamente ci possono essere svariate soluzioni.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2015
    Messaggi
    6
    Grazie mille, appena riesco ad avere un momento dal lavoro, provo subito e ti so dire. grazie ancora.

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2015
    Messaggi
    6
    Ho provato ma alle 24:00 l'immagine 23 non si è cambiata con la 24, ho dovuto ricaricare la pagine e si è cambiata.

  6. #6
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    codice:
    <!doctype html>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Esempio</title>
    <script type="text/javascript">
    onload = function updateHrImg () {
        document.getElementById("clock-img").src = (new Date()).getHours() + ".gif";
        setTimeout(updateHrImg, 36e5 - Date.now() % 36e5);
    };
    </script>
    </head>
    
    <body>
    
    <img id="clock-img" width="150" height="150" />
    
    </body>
    </html>

    Tutto ciò che fai con jQuery puoi farlo meglio e con la metà del codice in puro JavaScript.

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2015
    Messaggi
    6
    Grazie mi sei stato piu utili di quanto pensi, poi agendo direttamente in cartella ho risolto non solo questo quesito ma su tutti i fronti, in un colto mi hai risolto almeno 15 problemi quà e là. Grazie a tutti e a te guru.

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2015
    Messaggi
    6
    Cmq java script è una figata pazzesca mi è sempre piaciuto e mi sono sempre trovato alla grande, devo troppo impararlo come si deve, invece di stuzzicare e imparare quà e là. Un bel UP! per JS!

  9. #9
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    Figurati!
    Tutto ciò che fai con jQuery puoi farlo meglio e con la metà del codice in puro JavaScript.

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2015
    Messaggi
    1
    Ragazzi, mi accodo a questa discussione per rappresentare un problema analogo.
    Sono un partner Trovaprezzi ed avrei bisogno di uno script per aggiornare file xml ogni 6 ore.
    Questo perchè, come forse saprete, Trovaprezzi richiede un aggiornamento dei link ogni 6 ore, così da garantire la veridicità delle informazioni mostrate.
    Sapreste gentilmente darmi qualche consiglio?
    Esempio di link per ricavare un file XML Trovaprezzi: http://quickshop.shoppydoo.it/tuttoa...spx?sort=price
    Io devo aggiornare il field <url>"link"</url> perchè, se non lo faccio, l'url inserito la prima volta manualmente perde la tracciabilità.
    Purtroppo studio con piacere marketing e la nicchia in cui sono esperto, ma non conosco neanche le basi di php

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.