AccueilDernières imagesRechercherS'enregistrerConnexion

Forum de graphisme, codage et game design proposant des tutoriels, astuces, libres services et commandes dans les domaines de l'infographie amateur, de l'intégration web (HTML et CSS essentiellement) ainsi que dans la conception de RPG sur forum.

-50%
Le deal à ne pas rater :
Friteuse sans huile – PHILIPS – Airfryer HD9200/90 Série 3000
54.99 € 109.99 €
Voir le deal

    Design changeant selon l'heure (bannière, fond et autres)

    Neva
    Neva
    FémininAge : 33Messages : 18565

    Dim 22 Sep 2013 - 16:33

    Rappel du premier message :


    Le code n'est pas caché sous balise hide, mais n'hésitez pas à remercier son auteur :)
    Lien pour comprendre pourquoi le contenu n'est pas sous hide


    RAPPELS :
    - Si vous avez un problème avec ce tutoriel, n'hésitez pas à poser vos questions mais faîtes-le ici : https://www.never-utopia.com/f177-probleme-avec-mon-code  (relisez le tutoriel en entier avant de le faire et, lorsque vous ouvrez votre sujet, fournissez l'adresse de ce tutoriel, le lien de votre forum ainsi que les codes CSS/Javascript/template posant problème)

    Salut à tous !

    Je vous propose un tutoriel permettant de modifier l’apparence de votre forum selon l’heure (que ce soit pour faire un effet jour/nuit, matin/après-midi, un changement pour seulement une heure ou deux dans la journée...). Les deux exemples proposés se concentreront sur la modification du fond du forum et la modification de la bannière mais je vous invite à tenter vos propres personnalisations =)

    A SAVOIR :  
    - Le code utilise l’heure de votre ordinateur donc, une fois le code installé, vous pouvez changer l’heure sur votre ordinateur et recharger la page pour tester les différentes périodes.  
    - Les codes javascript sont à insérer dans panneau d'admin > modules > gestion des codes javascript
    - Sur la page "Gestion des codes javascript", pensez à activer les codes en cochant "oui" après "Activer la gestion des codes Javascript" et en enregistrant.




    MODIFIER LE FOND DU FORUM ENTRE LE JOUR ET LA NUIT


    Tout d’abord, commencez par mettre votre image de fond pour la nuit à l’endroit habituel (panneau d’administration > affichage > gestion des images > mode avancé > Image du fond de page : collez l’adresse sur cette ligne et validez) et vérifiez qu’elle apparaît bien.

    Ensuite, nous n’avons besoin que d’un peu de JavaScript.

    Voici le code en question :
    Code:
    jQuery(document).ready(function(){var date = new Date();
            var heure = date.getHours();
            if(heure >= 7 && heure < 18){
              $("body").css("background-image", "url('ADRESSE FOND JOUR')");
            }
    });

    PERSONNALISATION :
    Sur la troisième ligne, vous pouvez voir que j’ai défini le jour comme étant entre 7h et 18h. Vous pouvez modifier ces chiffres selon vos désirs (ne touchez qu’aux chiffres).
    Attention, nous travaillons sur une base de 24h : 3h ne peut être que 3h du matin, on utilisera 15h pour 3h de l’après-midi.

    Sur la quatrième ligne, pensez à remplacer ADRESSE FOND JOUR par l’adresse de ladite image (faites attention à ne pas supprimer les apostrophes, l’adresse doit être écrite entre).

    Juste pour bien résumer, l'image que vous avez mise dans vos images est celle qui apparaît normalement et l'image mise dans le javascript est celle qui apparaît pendant la plage de temps inscrite dans le javascript.

    INSTALLATION :
    Une fois complété, le code est à mettre dans panneau d'admin > modules > gestion des javascript. Cochez bien la case Sur toutes les pages

    Et voilà, c’est tout ce qu’il y a à faire ! =)




    MODIFIER LA BANNIERE


    Tout d’abord, commencez par mettre votre bannière pour la nuit à l’endroit habituel (panneau d’administration > affichage > gestion des images > mode avancé > logo : collez l’adresse sur cette ligne et validez) et vérifiez qu’elle apparaît bien.

    Ensuite, il nous faut nos quelques lignes de JavaScript :
    Code:
    jQuery(document).ready(function(){var date = new Date();
            var heure = date.getHours();
            if(heure >= 8 && heure < 19){
              $("#pun-logo img,#i_logo,#logo img").attr("src", "ADRESSE FOND JOUR");
            }
    });


    PERSONNALISATION :
    Sur la troisième ligne, vous pouvez voir que j’ai défini le jour comme étant entre 7h et 18h. Vous pouvez modifier ces chiffres selon vos désirs (ne touchez qu’aux chiffres).
    Attention, nous travaillons sur une base de 24h : 3h ne peut être que 3h du matin, on utilisera 15h pour 3h de l’après-midi.

    Sur la quatrième ligne, pensez à remplacer ADRESSE FOND JOUR par l’adresse de ladite image (faites attention à ne pas supprimer les apostrophes, l’adresse doit être écrite entre).



    Si la taille de la bannière de jour diffère de celle de nuit, il vous faut compléter et utiliser ce code :
    Code:
    jQuery(document).ready(function(){var date = new Date();
            var heure = date.getHours();
            if(heure >= 8 && heure < 19){
              $("#pun-logo img,#i_logo,#logo img").attr("src", "ADRESSE FOND JOUR");
              $("#pun-logo img,#i_logo,#logo img").css("width", "LARGEUR EN PX");
              $("#pun-logo img,#i_logo,#logo img").css("height", "HAUTEUR EN PX");
            }
    });

    INSTALLATION :
    Une fois complété, le code est à mettre dans panneau d'admin > modules > gestion des javascript. Cochez bien la case Sur toutes les pages




    COMBINER LES DEUX CODES


    Si vous souhaitez modifier votre bannière ET votre fond, lisez les deux explications plus haut et suivez la démarche pour le template et le CSS de la bannière mais utilisez ce JavaScript :
    Code:
    jQuery(document).ready(function(){var date = new Date();
            var heure = date.getHours();
            if(heure >= 8 && heure < 19){
              $("#pun-logo img,#i_logo,#logo img").attr("src", "ADRESSE FOND JOUR");
              $("body").css("background-image", "url('ADRESSE FOND JOUR')");
            }
    });




    RAJOUTER DES TRANCHES HORAIRES


    Pour rajouter des tranches horaires, il suffit de reproduire la partie de code qui suit (il s'agit du code pour changer le fond, je vous donne plus bas les parties pour les deux autres codes) en en changeant les infos et en collant  après le } de la précédente et avant le " }); " de fin :

    Code:
           if(heure >= 7 && heure < 18){
              $("body").css("background-image", "url('ADRESSE FOND JOUR')");
            }

    Voilà ce que ça donnerait en ajoutant un 19-23h :
    Code:
    jQuery(document).ready(function(){var date = new Date();
            var heure = date.getHours();
            if(heure >= 7 && heure < 18){
              $("body").css("background-image", "url('ADRESSE FOND 7-18h')");
            }
            if(heure >= 19 && heure < 23){
              $("body").css("background-image", "url('ADRESSE FOND 19-23h')");
            }
    });

    Pour la bannière, c'est cette partie que vous devez copier/coller/remplir avec les nouvelles infos de la même façon :
    Code:
            if(heure >= 8 && heure < 19){
              $("#pun-logo img,#i_logo,#logo img").attr("src", "ADRESSE FOND JOUR");
            }

    Et cette partie pour le code combinant les deux effets :
    Code:
            if(heure >= 8 && heure < 19){
              $("#pun-logo img,#i_logo,#logo img").attr("src", "ADRESSE FOND JOUR");
              $("body").css("background-image", "url('ADRESSE FOND JOUR')");
            }




    AUTRES :


    Bien que cette astuce ait été fait avec la bannière et le fond en tête, il faut comprendre que cela peut fonctionner pour n'importe quoi.

    Petit exemple où je veux qu'un bloc avec l'id "bloc_bleu" devienne rouge de 8 à 19h :
    Code:
    /*Partie html*/
    <div id="bloc_bleu">Je suis un bloc bleu qui devient rouge de 8 à 19h.</div>

    /*Partie javascript*/
    jQuery(document).ready(function(){var date = new Date();
            var heure = date.getHours();
            if(heure >= 8 && heure < 19){
              $("#bloc_bleu").css("background-color", "red");
            }
    });

    Petit exemple où je veux qu'une image avec l'id "image_quelconque" change d'images de 8 à 19h :
    Code:
    /*Partie html*/
    <img id="image_quelconque" src="ADRESSE FOND NUIT" />

    /*Partie javascript*/jQuery(document).ready(function(){var date = new Date();
            var heure = date.getHours();
            if(heure >= 8 && heure < 19){
              $("#image_quelconque").attr("src", "ADRESSE FOND JOUR");
            }
    });

    Bref, on sélectionne notre "id" avec le $("#JeSuisUnId") au début en changeant le "JeSuisUnId" par le nom de l'id de notre bloc/image.
    Ensuite, on utilise .attr("src", "ADRESSE FOND JOUR"); pour changer l'adresse de l'image (seulement pour les images).
    Ou, on utilise .css("propriété", "valeur"); pour changer une valeur dans le css, que cela soit le background-image, la couleur de l'écriture, etc.




    CONSEILS SUPPLEMENTAIRES :
    - En cas de problème, vérifiez bien tous les signes de ponctuation
    - Pour faire apparaître/disparaître un élément, jouez sur la propriété display (je pense notamment à display: none; pour faire disparaître votre bannière)


    Dernière édition par Neva le Dim 19 Oct 2014 - 0:55, édité 4 fois
    Mayobaka
    Mayobaka
    FémininAge : 25Messages : 22

    Lun 29 Juil 2019 - 18:16

    Oh la la, je vais garder ça sous la main pour quand je toucherai au design des images de mon forum mais je crois que je suis bien tentée de tester ça **
    Merci beaucoup, j'ai presque l'impression de comprendre le javascript tellement c'est bien expliqué **

      La date/heure actuelle est Jeu 21 Nov 2024 - 9:58