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


    Bloc flottant latéral ouvrant "onclick" (javascript)

    Partagez
    avatar
    Onyx
    FémininAge : 23Messages : 2980

    le Sam 11 Jan 2014 - 5:11

    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


    Bouh!

    Autant j'aime bien le bloc flottant latéral ouvrant "onclick" (CSS avec target) d'Okhmhaka, autant je préfère passer par le javascript pour éviter d'avoir les "#target_onglet" dans ma barre d'adresse.

    Du coup, j'ai laissé tombé l'idée d'utiliser le CSS3 pour ça et me voilà avec du javascript qui vous donnera le même résultat avec une méthode différente.

    Sachant que tout le monde n'adore pas nécessairement faire du graphisme, vous avez l'option d'avoir un bouton pour ouvrir/fermer l'onglet fait avec des images ou avec du texte ^^

    Je vous montre un petit exemple juste ici avec la méthode qui ne demande pas d'images.



    Si le bouton est une image



    Dans votre template "Overhall Header", vous devez trouver l'ouverture de la balise "body". Sous phpBB2, elle ressemble à ceci :
    Code:
    <body background="{T_BODY_BACKGROUND}" bgcolor="{T_BODY_BGCOLOR}" text="{T_BODY_TEXT}" link="{T_BODY_LINK}" vlink="{T_BODY_VLINK}">

    Voici le code du bloc flottant que vous pouvez installer suite à cette balise :
    Code:
      <div id="ongleton">
        <div class="ongleton_contenu">
          Contenu du bloc
        </div>
        <img id="ongleton_ouvrir" src="http://i81.servimg.com/u/f81/11/21/85/73/ouvrir10.png" />
        <img id="ongleton_fermer" src="http://i81.servimg.com/u/f81/11/21/85/73/fermer10.png" style="display: none;" />
      </div>
      <script type="text/javascript">
      //<!--
        $('#ongleton_ouvrir').click(function(){
          $('#ongleton_ouvrir').css("display", "none");
          $('#ongleton_fermer').css("display", "block");
          $('#ongleton').css("left", "0px");
        });
        $('#ongleton_fermer').click(function(){
          $('#ongleton_ouvrir').css("display", "block");
          $('#ongleton_fermer').css("display", "none");
          $('#ongleton').css("left", "-212px");
        });
      //-->
      </script>

    Si on décortique ceci, nous avons tout d'abord un bloc (id="ongleton") qui englobe le bloc flottant et le bouton servant à l'ouvrir et à le fermer.
    Ensuite, nous avons le bloc flottant (class="ongleton_contenu").
    Puis, nous avons deux div, soit deux boutons.
    La première image est le bouton pour ouvrir (id="ongleton_ouvrir").
    La deuxième image est le bouton pour fermer (id="ongleton_fermer").
    Enfin, nous avons le javascript qui fait fonctionner le tout.

    Attention, dans le javascript, il  faut indiquer la largeur du bloc flottant (bordures, padding et marges inclus) en remplaçant le 212px à cet endroit :
    Code:
    $('#ongleton').css("left", "-212px");


    Enfin, vous pourrez modifier à votre sauce le bloc flottant dans le CSS en y mettant le code suivant:
    Code:
    /*Bloc qui contient le bloc flottant et les boutons*/
    #ongleton {
      position: fixed;
      height: 90%; /*Hauteur du bloc flottant*/
      top: 5%; /*Espace du haut*/
      left: -212px;
      z-index: 999;
      transition: 1s;
      -webkit-transition: 1s;
    }
    /*Bloc flottant*/
    .ongleton_contenu {
      width: 200px; /*Largeur*/
      height: 100%;
      padding: 5px;
      background-color: #1B2836;
      color: #9BB9D9;
      font-size: 13px;
      font-family: Time New Roman;
      border: 2px #6993BE solid;
      border-left: none;
      border-radius: 0 30px 30px 0;
    }
    /*Boutons Ouvrir et Fermer*/
    #ongleton_ouvrir, #ongleton_fermer {
      position: absolute;
      top: 45%;
      left: 212px; /*Mettre le bouton à 212px du bord, donc pour qu'il dépasse*/
      z-index: 999;
      cursor: pointer;
    }

    Voilà, votre bloc flottant est installé ^^






    Si le bouton est un texte



    Dans votre template "Overhall Header", vous devez trouver l'ouverture de la balise "body". Sous phpBB2, elle ressemble à ceci :
    Code:
    <body background="{T_BODY_BACKGROUND}" bgcolor="{T_BODY_BGCOLOR}" text="{T_BODY_TEXT}" link="{T_BODY_LINK}" vlink="{T_BODY_VLINK}">

    Voici le code du bloc flottant que vous pouvez installer suite à cette balise :
    Code:
      <div id="ongleton">
        <div class="ongleton_contenu">
          Contenu du bloc
        </div>
        <div id="ongleton_ouvrir">
          Ouvrir
        </div>
        <div id="ongleton_fermer" style="display: none;">
          Fermer
        </div>
      </div>
      <script type="text/javascript">
      //<!--
        $('#ongleton_ouvrir').click(function(){
          $('#ongleton_ouvrir').css("display", "none");
          $('#ongleton_fermer').css("display", "block");
          $('#ongleton').css("left", "0px");
        });
        $('#ongleton_fermer').click(function(){
          $('#ongleton_ouvrir').css("display", "block");
          $('#ongleton_fermer').css("display", "none");
          $('#ongleton').css("left", "-212px");
        });
      //-->
      </script>

    Si on décortique ceci, nous avons tout d'abord un bloc (id="ongleton") qui englobe le bloc flottant et le bouton servant à l'ouvrir et à le fermer.
    Ensuite, nous avons le bloc flottant (class="ongleton_contenu").
    Puis, nous avons deux div, soit deux boutons.
    La première div est le bouton pour ouvrir (id="ongleton_ouvrir").
    La deuxième div est le bouton pour fermer (id="ongleton_fermer").
    Enfin, nous avons le javascript qui fait fonctionner le tout.

    Attention, dans le javascript, il  faut indiquer la largeur du bloc flottant (bordures, padding et marges inclus) en remplaçant le 212px à cet endroit :
    Code:
    $('#ongleton').css("left", "-212px");


    Enfin, vous pourrez modifier à votre sauce le bloc flottant et les boutons dans le CSS en y mettant le code suivant:
    Code:
    /*Bloc qui contient le bloc flottant et les boutons*/
    #ongleton {
      position: fixed;
      height: 90%; /*Hauteur du bloc flottant*/
      top: 5%; /*Espace du haut*/
      left: -212px;
      z-index: 999;
      transition: 1s;
      -webkit-transition: 1s;
    }
    /*Bloc flottant*/
    .ongleton_contenu {
      width: 200px; /*Largeur*/
      height: 100%;
      padding: 5px;
      background-color: #1B2836;
      color: #9BB9D9;
      font-size: 13px;
      font-family: Time New Roman;
      border: 2px #6993BE solid;
      border-left: none;
      border-radius: 0 30px 30px 0;
    }
    /*Boutons Ouvrir et Fermer*/
    #ongleton_ouvrir, #ongleton_fermer {
      position: absolute;
      top: 45%;
      left: 212px; /*Mettre le bouton à 212px du bord, donc pour qu'il dépasse*/
      z-index: 999;
      cursor: pointer;
      width: 100px;
      height: 20px;
      background-color: #1B2836;
      border: 2px solid #6993BE;
      border-bottom: none;
      text-align: center;
      color: #9BB9D9;
      padding: 5px;
      padding-top: 10px;
      border-radius: 30px 30px 0 0;
      margin-left: -42px; /*Pour coller le bouton contre le bloc flottant*/
      -webkit-transform:rotate(90deg); /*Pour tourner le texte sur le côté (Chrome et Safari)*/
      transform:rotate(90deg); /*Pour tourner le texte sur le côté*/
    }

    Voilà, votre onglet flottant est installé ^^




    N'oubliez pas de créditer N-U è_é


    Dernière édition par Onyx le Jeu 13 Avr 2017 - 19:19, édité 10 fois
    avatar
    Kelalin
    FémininAge : 25Messages : 1604

    le Dim 16 Aoû 2015 - 22:53

    Merci beaucoup du partage ! (*^▽^*)
    avatar
    Luirio
    MasculinAge : 27Messages : 125

    le Ven 21 Aoû 2015 - 7:37

    Je veux s'il vous plait! Merci ^^
    avatar
    Neko Mimi
    FémininAge : 27Messages : 162

    le Jeu 10 Sep 2015 - 11:31

    J'aime merci beaucoup ♥



    avatar
    Soupy
    FémininAge : 21Messages : 23

    le Dim 20 Sep 2015 - 18:21

    Pile ce que je cherchais, merci encore!
    avatar
    Shaolan
    MasculinAge : 26Messages : 104

    le Ven 2 Oct 2015 - 8:39

    Merci !
    avatar
    NaLu
    FémininAge : 22Messages : 115

    le Dim 18 Oct 2015 - 18:06

    Merci pour ce partage *0*



    avatar
    Lilie
    FémininAge : 34Messages : 155

    le Sam 24 Oct 2015 - 23:15

    Ah ça m'intéresse ! Merci pour le partage :)
    avatar
    pimslady
    FémininAge : 28Messages : 71

    le Mar 1 Déc 2015 - 14:51

    top de chez top !! merci pour le partage !
    Nal Souclade
    MasculinAge : 18Messages : 163

    le Mar 1 Déc 2015 - 19:34

    Super, pile ce que je cherchais ! Merci beaucoup *^* !
    avatar
    Databar
    MasculinAge : 23Messages : 142

    le Mer 2 Déc 2015 - 17:44

    Jolie :)
    avatar
    Heryon
    FémininAge : 22Messages : 23

    le Jeu 17 Déc 2015 - 22:58

    Merci du partage ! c:
    avatar
    Luune
    FémininAge : 29Messages : 125

    le Sam 2 Jan 2016 - 14:32

    Merci
    avatar
    Nausicäa Kaer
    FémininAge : 23Messages : 158

    le Sam 2 Jan 2016 - 18:49

    Merciiiiiiii
    avatar
    FreeSpirit
    MasculinAge : 21Messages : 157

    le Dim 10 Jan 2016 - 21:26

    Merci !
    avatar
    Arisu
    FémininAge : 29Messages : 108

    le Lun 22 Fév 2016 - 5:19

    Merci !
    avatar
    RyuTsuki
    FémininAge : 26Messages : 41

    le Lun 22 Fév 2016 - 11:58

    Merci ça c'est vraiment cool =)
    avatar
    Whit
    FémininAge : 20Messages : 152

    le Lun 22 Fév 2016 - 22:35

    Merci !
    avatar
    beza
    FémininAge : 21Messages : 43

    le Dim 28 Fév 2016 - 14:45

    Merci !
    avatar
    Ghost of Darkness
    FémininAge : 23Messages : 43

    le Mar 1 Mar 2016 - 19:20

    Oh trop coooool !! Merci beaucoup *-*



    Ghost of Darkness
    All my friends are heathens, take it slow. Wait for them to ask you who you know. Please dont make any sudden moves. You don't know the half od the abuse.


    avatar
    FanDeFofo
    MasculinAge : 40Messages : 16

    le Mer 2 Mar 2016 - 19:11

    r
    avatar
    Chorks
    MasculinAge : 20Messages : 32

    le Jeu 17 Mar 2016 - 20:52

    Merci :)
    avatar
    Madness of Wonderland
    FémininAge : 17Messages : 59

    le Dim 3 Avr 2016 - 22:52

    merci !
    avatar
    Coco-Lapin02
    MasculinAge : 49Messages : 147

    le Lun 4 Avr 2016 - 14:58

    Merci
    avatar
    InfiniKey
    FémininAge : 31Messages : 46

    le Mar 5 Avr 2016 - 18:11

    C'est beau :omg:
    avatar
    Eywa
    FémininAge : 32Messages : 14

    le Lun 25 Avr 2016 - 12:55

    ah oui sympa ça
    Contenu sponsorisé


      La date/heure actuelle est Lun 25 Sep 2017 - 10:05