Visualizzazione risultati 1 fino 11 di 11

Discussione: Div che cambia in base al giorno

  1. #1
    Guest

    Predefinito Div che cambia in base al giorno

    Devo fare una cosa un po' strana: in un certo periodo deve apparire un div che contiene un'immagine, e in un altro periodo un altro div uguale ma che contiene un'altra immagine.


    Codice:
    #header1 {
        background-image: url(img1.jpg);    
    }

    Altro div con altra immagine
    Codice:
    #header2 {
        background-image: url(img2.jpg);    
    }

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,145

    Predefinito

    Puoi farlo via PHP o javascript. PHP richiede l'aggiornamento della pagina (F5 per intenderci), ma è compatibile al 100%. Javascript invece gira sul client come forse saprai, e richiede che l'utente abbia javascript attivato e soprattutto l'orario del PC corretto.

    Con PHP, è sufficiente controllare l'intervallo di tempo tramite la date(), e, quindi stampare quei codici con echo.

    Con JS invece devi controllare ogni tot di tempo (ad esempio con setInterval()) la data ( ad esempio con la classe Date()), e modificare dinamicamente l'immagine con js ad esempio tramite DOM.

    Visto che hai postato su javascript, immagino che ti serva la soluzione javascript. Sappi però che secondo me la soluzione PHP è la più semplice e immediata. Non so quanto siano lunghi questi intervalli di tempo, ma immagino che siano ore o addirittura giorni. Quindi non credo che un utente stia con il tuo sito aperto per ore o giorni guardando se l'immagine di background cambia.

    Ciao!
    Ultima modifica di alemoppo : 07-12-2014 alle ore 16.25.57

  3. #3
    Guest

    Predefinito

    Il secondo div deve apparire solo qualche giorno all'anno.

    Se lo metto in php, come faccio a testarlo? Io ne ho già altri in js ma con immagini, non con div.

  4. #4
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,145

    Predefinito

    Citazione Originalmente inviato da gruppoalveo Visualizza messaggio
    Se lo metto in php, come faccio a testarlo?
    Ad esempio impostando la data nel secondo parametro della date()

    Citazione Originalmente inviato da gruppoalveo Visualizza messaggio
    Io ne ho già altri in js ma con immagini, non con div.
    Ah, cosa cambia quindi? Cioè mi sembra che tu voglia modificare l'immagine di background, no? Quindi se hai già il codice pronto non ti resta altro che modificare soltanto la parte di modifica DOM.

    Ciao!

  5. #5
    Guest

    Predefinito

    Questo ha l'immagine, il problema è che non riesco ad inserire il div

    Codice:
    function feste() {  
    var calendario = new Date();
    var giorno = calendario.getDate();
    var mese = (calendario.getMonth()+1); // Gennaio=1	
    var nodate = 1;   
    if ((giorno >=8 && giorno <=20) && (mese ==12)) {  
    document.write('<br><img src="immagini/anno095.gif" width="120" height="83" alt="Buone Feste" title="Buone Feste by Akuna"><br><br><span style=" font-family:times; font-size:21px; color:#ff0000; text-shadow: 0px 1px 1px #cccccc;">Buone Feste!</span><br><br>'); var nodate = 0;
    }
     }

  6. #6
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,145

    Predefinito

    Per modificare quel background non puoi agire con la document.write(), ma come ti ho spiegato, con DOM.

    Ciao!
    Ultima modifica di alemoppo : 07-12-2014 alle ore 17.57.55

  7. #7
    Guest

    Predefinito

    Citazione Originalmente inviato da alemoppo Visualizza messaggio
    Per modificare quel background non puoi agire con la document.write(), ma come ti ho spiegato, con DOM.

    Ciao!
    Questo?

    document.getElementById('hader').innerHTML = "";
    Ultima modifica di gruppoalveo : 07-12-2014 alle ore 18.08.10

  8. #8
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,145

    Predefinito

    Quello server per modificare il contenuto HTML di un elemento preso tramite Id. Tu immagino voglia modificare lo style del div, non il suo contenuto interno .

    Quindi non devi usare innerHTML, ma style.

    Ciao!

  9. #9
    Guest

    Predefinito

    Io devo modificare solo l'immagine che c'è nel div, come ho scritto nel primo post

  10. #10
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,145

    Predefinito

    Appunto. Vedi qui.

    Ciao!

  11. #11
    Guest

    Predefinito

    Così non va

    Codice:
    function feste() {  
    var calendario = new Date();
    var giorno = calendario.getDate();
    var mese = (calendario.getMonth()+1); // Gennaio=1	
    var nodate = 1;   
    if ((giorno >=7 && giorno <=20) && (mese ==12)) {  
    document.getElementById('header2').style.backgroundImage = "url('img2.jpg')";
    } 
    else {
    document.getElementById('header1').style.backgroundImage = "url('img1.jpg')";
    }
     }
    Ultima modifica di gruppoalveo : 07-12-2014 alle ore 18.53.06

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •