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

    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
    Hayate747
    MasculinAge : 27Messages : 194

    le Jeu 29 Jan 2015 - 11:15

    Merci !!
    avatar
    Alumine
    FémininAge : 19Messages : 488

    le Mer 11 Fév 2015 - 15:19

    Je crois que c'est exactement ce que je cherchais à comprendre Very Happy Merci !



    Alumine
    avatar
    Eiffel01
    MasculinAge : 30Messages : 32

    le Mer 11 Fév 2015 - 15:42

    Merci Very Happy
    avatar
    Yuuchan
    FémininAge : 21Messages : 31

    le Sam 21 Fév 2015 - 19:06

    Merci !
    avatar
    Invité

    le Dim 22 Fév 2015 - 10:18

    Merci !
    avatar
    MxPrime2
    MasculinAge : 23Messages : 76

    le Mar 24 Fév 2015 - 19:33

    Super !
    avatar
    Caine Lornan
    MasculinAge : 36Messages : 78

    le Mer 18 Mar 2015 - 21:06

    Merci
    avatar
    Alcaline
    FémininAge : 22Messages : 4

    le Jeu 19 Mar 2015 - 11:13

    Merci :hug:
    avatar
    Malf Claymore
    FémininAge : 23Messages : 125

    le Jeu 19 Mar 2015 - 13:16

    Merci beaucoup
    avatar
    Celuna
    FémininAge : 26Messages : 123

    le Ven 20 Mar 2015 - 18:27

    Merci pour ce superbe partage.
    avatar
    erika02
    FémininAge : 20Messages : 259

    le Dim 22 Mar 2015 - 16:06

    Merci



    avatar
    chouchounette
    FémininAge : 25Messages : 96

    le Jeu 9 Avr 2015 - 1:53

    merci beaucoup !
    avatar
    Euterpe
    FémininAge : 31Messages : 285

    le Jeu 9 Avr 2015 - 8:56

    cool merci
    avatar
    tutox
    MasculinAge : 35Messages : 22

    le Jeu 9 Avr 2015 - 9:50

    merci
    avatar
    Kathee
    FémininAge : 24Messages : 634

    le Jeu 9 Avr 2015 - 15:26

    C'est super, merci beaucoup ! :)





    Nous serions ravis de vous accueillir - Venez donc voir ce petit petit fofo
    avatar
    castamere rains
    FémininAge : 21Messages : 16

    le Dim 19 Avr 2015 - 20:52

    merci
    avatar
    Crowley
    FémininAge : 21Messages : 68

    le Dim 19 Avr 2015 - 22:13

    Merci beaucoup pour le code ça va beaucoup m'aider !
    avatar
    Chanel.♥
    FémininAge : 17Messages : 42

    le Ven 24 Avr 2015 - 21:28

    Merci ♥
    avatar
    Heah92
    FémininAge : 19Messages : 81

    le Dim 31 Mai 2015 - 14:32

    merci Wink
    avatar
    ~Nodoka~
    FémininAge : 20Messages : 182

    le Lun 1 Juin 2015 - 15:42

    merci *est curieuse de voir le code*
    avatar
    Filou
    FémininAge : 26Messages : 138

    le Dim 7 Juin 2015 - 15:45

    Bonjour,

    Ce tutoriel serait celui que je recherche depuis tant de jours ? °-°
    Je croise les doigts !

    Merci pour le partage ^^
    avatar
    TiGraou
    MasculinAge : 24Messages : 221

    le Dim 5 Juil 2015 - 6:56

    Merci
    avatar
    Eil'liathan Tyan'Lirulin
    FémininAge : 26Messages : 315

    le Mar 7 Juil 2015 - 10:20

    Merci ^^
    avatar
    Mini007
    MasculinAge : 23Messages : 21

    le Mer 8 Juil 2015 - 21:10

    merci Razz!
    avatar
    Yuki Kaga
    FémininAge : 16Messages : 261

    le Ven 14 Aoû 2015 - 22:43

    Merchi ! :)
    Contenu sponsorisé


      La date/heure actuelle est Lun 24 Juil 2017 - 16:31