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

    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
    Shuna
    FémininAge : 23Messages : 117

    le Mer 14 Mai 2014 - 21:03

    merci j'adore !
    avatar
    Shatters
    FémininAge : 24Messages : 56

    le Ven 16 Mai 2014 - 0:13

    Merci !



    J'ai appelé les bourreaux pour, en périssant, mordre la crosse de leurs fusils. J'ai appelé les fléaux, pour m'étouffer avec le sable, avec le sang. Le malheur a été mon dieu. Je me suis allongé dans la boue. Je me suis séché à l'air du crime. Et j'ai joué de bons tours à la folie. (Rimbaud)
    avatar
    LinaK
    FémininAge : 27Messages : 53

    le Ven 6 Juin 2014 - 19:03

    Tout simplement génial Very Happy





    avatar
    Doan Lavita
    FémininAge : 19Messages : 72

    le Sam 7 Juin 2014 - 18:11

    Merci! *^*



    Dada1779
    MasculinAge : 33Messages : 23

    le Mar 10 Juin 2014 - 10:15

    Merci pour le partage
    Zahil
    MasculinAge : 24Messages : 29

    le Mar 10 Juin 2014 - 12:26

    Merci ! :)
    avatar
    Sue Sheeran
    FémininAge : 18Messages : 27

    le Mar 10 Juin 2014 - 13:28

    merci :)
    avatar
    Keylha
    FémininAge : 17Messages : 82

    le Mar 10 Juin 2014 - 21:05

    Merci beaucoup ! :3



    avatar
    Ashem
    FémininAge : 32Messages : 250

    le Mer 11 Juin 2014 - 18:25

    merci
    avatar
    Sina
    FémininAge : 23Messages : 33

    le Ven 13 Juin 2014 - 16:55

    Merci beaucoup !



    avatar
    Invité

    le Ven 13 Juin 2014 - 18:09

    Merci !
    avatar
    Ema Skye
    FémininAge : 19Messages : 134

    le Lun 23 Juin 2014 - 22:52

    Merci ! Very Happy
    avatar
    Dark6nika
    FémininAge : 24Messages : 118

    le Mar 24 Juin 2014 - 17:18

    Ah, super intéressant ça ! Merci beaucoup de partager ce code bien utile ;3



    avatar
    Stiou
    FémininAge : 23Messages : 42

    le Lun 30 Juin 2014 - 23:22

    Merci !



    avatar
    Layla4
    FémininAge : 18Messages : 149

    le Mar 1 Juil 2014 - 12:57

    Merci !
    avatar
    narakye
    FémininAge : 23Messages : 446

    le Mar 1 Juil 2014 - 13:15

    merci *-*
    avatar
    Nanou0001
    FémininAge : 33Messages : 50

    le Mer 2 Juil 2014 - 9:13

    merci
    avatar
    Azuriel
    FémininAge : 22Messages : 129

    le Dim 20 Juil 2014 - 12:11

    Merci ! o/
    avatar
    Venise
    FémininAge : 34Messages : 270

    le Ven 25 Juil 2014 - 1:01

    merci
    avatar
    Mr Yo
    MasculinAge : 43Messages : 37

    le Dim 3 Aoû 2014 - 14:31

    Genial, merci
    avatar
    patriciadpt30
    FémininAge : 54Messages : 240

    le Jeu 7 Aoû 2014 - 21:28

    cool



    Patricia :)
    avatar
    Nileeda
    FémininAge : 21Messages : 42

    le Jeu 14 Aoû 2014 - 12:23

    Merci :)
    avatar
    Daph
    FémininAge : 24Messages : 67

    le Ven 5 Sep 2014 - 4:44

    Merci Very Happy



    avatar
    Liliumini
    FémininAge : 22Messages : 55

    le Sam 27 Sep 2014 - 21:58

    Merci, c'est vraiment utile!
    avatar
    Mangédéfruiélégumeuh
    MasculinAge : 20Messages : 83

    le Sam 4 Oct 2014 - 23:55

    Merci :) !
    Contenu sponsorisé


      La date/heure actuelle est Mer 18 Oct 2017 - 0:20