IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

FancyBox et Isoptope


Sujet :

JavaScript

  1. #1
    Membre habitué
    Homme Profil pro
    Webdesigner
    Inscrit en
    Août 2014
    Messages
    445
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Août 2014
    Messages : 445
    Points : 138
    Points
    138
    Par défaut FancyBox et Isoptope
    Bonjour à tous,
    Je tente d'adapter Isotope au code ci-dessous
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    <body>
    	<h3>Marcus Miller</h3>
     
    <div id='gallery1'>
          <p>
                <a rel='diapo1' class="diapo1" href="img/diapo_a.jpg" title="Ma photo 1"><img alt="" src="img/diapo_a.jpg" /></a>
                <a rel='diapo1' class="diapo1" href="diapo_b.jpg" title="Ma photo 2" style='display:none'><img alt="" src="diapo_b.jpg" /></a>
                <a rel='diapo1' class="diapo1" href="diapo_c.jpg" title="Ma photo 3" style='display:none'><img alt="" src="diapo_c.jpg" /></a>
                <a rel='diapo1' class="diapo1" href="diapo_d.jpg" title="Ma photo 4" style='display:none'><img alt="" src="diapo1_d.jpg" /></a>
                      <p>
                <a rel='diapo2' class="diapo1" href="img/diapo_a.jpg" title="Ma photo 1"><img alt="" src="img/diapo_a.jpg" /></a>
                <a rel='diapo2' class="diapo1" href="diapo_b.jpg" title="Ma photo 2" style='display:none'><img alt="" src="diapo_b.jpg" /></a>
                <a rel='diapo2' class="diapo1" href="diapo_c.jpg" title="Ma photo 3" style='display:none'><img alt="" src="diapo_c.jpg" /></a>
                <a rel='diapo2' class="diapo1" href="diapo_d.jpg" title="Ma photo 4" style='display:none'><img alt="" src="diapo1_d.jpg" /></a>
    </p>
    </p></div
        ><div id="diaporama_1"><p>
    	<a class="fancybox" href="images/img-ex1.jpg" data-fancybox-group="gallery" title="Lorem ipsum dolor sit amet"><img src="../../LDDC/img/2.jpg" alt="" width="100" class="img" /></a>
     
    	<a class="fancybox" href="2_b.jpg" data-fancybox-group="gallery" title="Etiam quis mi eu elit temp"><img src="2_s.jpg" alt="" width="100" class="img" /></a>
     
    	<a class="fancybox" href="3_b.jpg" data-fancybox-group="gallery" title="Cras neque mi, semper leon"><img src="3_s.jpg" alt="" width="100" class="img" /></a>
     
    	<a class="fancybox" href="4_b.jpg" data-fancybox-group="gallery" title="Sed vel sapien vel sem uno"><img src="4_s.jpg" alt="" width="100" class="img img_last" /></a>
    </p></div>
    <div id='gallery2'>
          <p>
                <a rel='diapo3' class="diapo1" href="img/diapo_a.jpg" title="Ma photo 1"><img alt="" src="img/diapo_a.jpg" /></a>
                <a rel='diapo3' class="diapo1" href="diapo_b.jpg" title="Ma photo 2" style='display:none'><img alt="" src="diapo_b.jpg" /></a>
                <a rel='diapo3' class="diapo1" href="diapo_c.jpg" title="Ma photo 3" style='display:none'><img alt="" src="diapo_c.jpg" /></a>
                <a rel='diapo3' class="diapo1" href="diapo_d.jpg" title="Ma photo 4" style='display:none'><img alt="" src="diapo1_d.jpg" /></a>
    </p></div
        ><div id="diaporama_2"><p>
    	<a class="fancybox" href="images/img-ex1.jpg" data-fancybox-group="gallery" title="Lorem ipsum dolor sit amet"><img src="../../LDDC/img/2.jpg" alt="" width="100" class="img" /></a>
     
    	<a class="fancybox" href="2_b.jpg" data-fancybox-group="gallery" title="Etiam quis mi eu elit temp"><img src="2_s.jpg" alt="" width="100" class="img" /></a>
     
    	<a class="fancybox" href="3_b.jpg" data-fancybox-group="gallery" title="Cras neque mi, semper leon"><img src="3_s.jpg" alt="" width="100" class="img" /></a>
     
    	<a class="fancybox" href="4_b.jpg" data-fancybox-group="gallery" title="Sed vel sapien vel sem uno"><img src="4_s.jpg" alt="" width="100" class="img img_last" /></a>
    </p></div>
    ></body>

    J'y suis depuis un moment, et donc je laisse tomber provisoirement les transitions/figcaptions. Je souhaiterais juste arriver à ce que telle galerie soit affichée uniquement si son lien est cliqué. Soit une "barre des menus" contenant deux liens "test1" et "test2" suivent à ce "menu" 4 galeries liées à un des deux menus. Pour le moment, rien est actif :/
    Voici l'actuel html
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
        <nav id="filter" data-option-key="filter">
            <a data-filter=".test_1">test_1</a> |
            <a data-filter=".test_2">test_2</a> |
        </nav>
    <ul id="elements" class="grid">
    <li class="test_1">
    <figure>
    <div id='gallery1'>
          <p>
                <a rel='diapo1' class="diapo1" href="img/diapo_a.jpg" title="Ma photo 1"><img src="img/diapo_a.jpg" alt="" class="diapo1 img" /></a>
                <a rel='diapo1' class="diapo1" href="diapo_b.jpg" title="Ma photo 2" style='display:none'><img alt="" src="diapo_b.jpg" /></a>
                <a rel='diapo1' class="diapo1" href="diapo_c.jpg" title="Ma photo 3" style='display:none'><img alt="" src="diapo_c.jpg" /></a>
                <a rel='diapo1' class="diapo1" href="diapo_d.jpg" title="Ma photo 4" style='display:none'><img alt="" src="diapo1_d.jpg" /></a><a rel='diapo2' class="diapo1" href="img/diapo_a.jpg" title="Ma photo 1"><img src="img/diapo_a.jpg" alt="" class="diapo1 img" /></a>
                <a rel='diapo2' class="diapo1" href="diapo_b.jpg" title="Ma photo 2" style='display:none'><img alt="" src="diapo_b.jpg" /></a>
                <a rel='diapo2' class="diapo1" href="diapo_c.jpg" title="Ma photo 3" style='display:none'><img alt="" src="diapo_c.jpg" /></a>
                <a rel='diapo2' class="diapo1" href="diapo_d.jpg" title="Ma photo 4" style='display:none'><img alt="" src="diapo1_d.jpg" /></a>
    </p></div>
    <figcaption>
    <h3>Test</h3>
    <span>test1</span>
    </figcaption>
    </figure>
    </li>
     
    <li class="test_2">
    <figure>
    <div id="diaporama_1"><p>
    	<a class="fancybox" href="images/img-ex1.jpg" data-fancybox-group="gallery" title="Lorem ipsum dolor sit amet"><img src="../../LDDC/img/2.jpg" alt="" width="100" class="img" /></a>
     
    	<a class="fancybox" href="2_b.jpg" data-fancybox-group="gallery" title="Etiam quis mi eu elit temp"><img src="2_s.jpg" alt="" width="100" class="img" /></a>
     
    	<a class="fancybox" href="3_b.jpg" data-fancybox-group="gallery" title="Cras neque mi, semper leon"><img src="3_s.jpg" alt="" width="100" class="img" /></a>
     
    	<a class="fancybox" href="4_b.jpg" data-fancybox-group="gallery" title="Sed vel sapien vel sem uno"><img src="4_s.jpg" alt="" width="100" class="img img_last" /></a>
    </p></div>
    <figcaption>
    <h3>test</h3>
    <span>test_2</span>
    </figcaption>
    </figure>
    </li>
    <li class="test_1">
    figure>
    <div id='gallery2'>
          <p><a rel='diapo3' class="diapo1" href="diapo_b.jpg" title="Ma photo 2" style='display:none'><img alt="" src="diapo_b.jpg" /></a>
                <a rel='diapo3' class="diapo1" href="diapo_c.jpg" title="Ma photo 3" style='display:none'><img alt="" src="diapo_c.jpg" /></a>
                <a rel='diapo3' class="diapo1" href="diapo_d.jpg" title="Ma photo 4" style='display:none'><img alt="" src="diapo1_d.jpg" /></a>
    </p></div>
    <figcaption>
    <h3>Test</h3>
    <span>test1</span>
    </figcaption>
    </figure>
    </li>
    <li class="test_2">
    <figure>
    <div id="diaporama_2"><p>
    	<a class="fancybox" href="images/img-ex1.jpg" data-fancybox-group="gallery" title="Lorem ipsum dolor sit amet"><img src="../../LDDC/img/2.jpg" alt="" width="100" class="img" /></a>
     
    	<a class="fancybox" href="2_b.jpg" data-fancybox-group="gallery" title="Etiam quis mi eu elit temp"><img src="2_s.jpg" alt="" width="100" class="img" /></a>
     
    	<a class="fancybox" href="3_b.jpg" data-fancybox-group="gallery" title="Cras neque mi, semper leon"><img src="3_s.jpg" alt="" width="100" class="img" /></a>
     
    	<a class="fancybox" href="4_b.jpg" data-fancybox-group="gallery" title="Sed vel sapien vel sem uno"><img src="4_s.jpg" alt="" width="100" class="img img_last" /></a>
    </p></div>
    	<a class="fancybox" href="images/img-ex1.jpg" data-fancybox-group="gallery" title="Lorem ipsum dolor sit amet"><img src="../../LDDC/img/2.jpg" alt="" width="100" class="img" /></a>
     
    	<a class="fancybox" href="2_b.jpg" data-fancybox-group="gallery" title="Etiam quis mi eu elit temp"><img src="2_s.jpg" alt="" width="100" class="img" /></a>
     
    	<a class="fancybox" href="3_b.jpg" data-fancybox-group="gallery" title="Cras neque mi, semper leon"><img src="3_s.jpg" alt="" width="100" class="img" /></a>
     
    	<a class="fancybox" href="4_b.jpg" data-fancybox-group="gallery" title="Sed vel sapien vel sem uno"><img src="4_s.jpg" alt="" width="100" class="img img_last" /></a>
    </p></div>
    <figcaption>
    <h3>Test</h3>
    <span>test_2</span>
    </figcaption>
    </figure>
    </li></ul>		
    </section>
    Pour la ligne 27 du dernier code, comment faire pour que toutes les photos s'affichent et non simplement la photo une du diaporama ?
    Meci beaucoup pour votre aide,
    dh

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 110
    Points : 44 929
    Points
    44 929
    Par défaut
    Bonjour,
    Je souhaiterais juste arriver à ce que telle galerie soit affichée uniquement si son lien est cliqué.
    du peu que j'ai lu il semble déjà au moins te manquer des data-filter.

  3. #3
    Membre habitué
    Homme Profil pro
    Webdesigner
    Inscrit en
    Août 2014
    Messages
    445
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Août 2014
    Messages : 445
    Points : 138
    Points
    138
    Par défaut
    Slt NoSmoking
    Merci pour ta réponse.
    J'ai beau chercher, je ne vois pas où rajouter des data-filter :/ Je pense que le site d'Isotope est parfait pour les codeurs bilingues Malheureusement je ne suis ni l'un, ni l'autre :/

    De la richesse d'Isocope, je ne désire que l'effet suivant :
    - on clique sur "test_1" (qui est inactif actuellement :/ ) > gallery1 s'affiche, disons que cette galerie soit affichée par défaut,
    - je clique sur "test_2" (qui est aussi inactif actuellement :/ ) > diaporama_1 s'affiche,
    - si je clique sur "test_1" > gallery1 s'affiche

    Tout cela sans "disperser"/"mélanger" les images (comme la vidéo publiée).

    Gallery1 n'a actuellement qu'une photo visuellement (mais suivie par d'autres en cliquant sur la flèche droite Fancybox).

    Le diaporama_1 a lui plusieurs photos, la galerie Fancybox classique (mais une seule s'affiche, je ne sais pas pourquoi ?).

    Ces diaporamas étaient parfaitement fonctionnels avant que je ne tente d'y mettre Isocope :p

    J'ai donc actuellement ce html :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    <section id="section">
        <nav id="filter" data-option-key="filter">
            <a data-filter=".test_1">test_1</a> |
            <a data-filter=".test_2">test_2</a> |
        </nav>
    <ul id="elements" class="grid">
    <li class="test_1">
    <figure>
    <div id='gallery1'>
          <p>
                <a rel='diapo1' class="diapo1" href="img/diapo_a.jpg" title="Ma photo 1"><img src="img/diapo_a.jpg" alt="" class="diapo1 img" /></a>
                <a rel='diapo1' class="diapo1" href="diapo_b.jpg" title="Ma photo 2" style='display:none'><img alt="" src="diapo_b.jpg" /></a>
                <a rel='diapo1' class="diapo1" href="diapo_c.jpg" title="Ma photo 3" style='display:none'><img alt="" src="diapo_c.jpg" /></a>
                <a rel='diapo1' class="diapo1" href="diapo_d.jpg" title="Ma photo 4" style='display:none'><img alt="" src="diapo1_d.jpg" /></a>
    </p></div>
    <figcaption>
    <h3>Test</h3>
    <span>test1</span>
    </figcaption>
    </figure>
    </li>
     
    <li class="test_2">
    <figure>
    <div id="diaporama_1"><p>
    	<a class="fancybox" href="1_b.jpg" data-fancybox-group="gallery" title="Etiam quis mi eu elit temp"><img src="1_s.jpg" alt="" width="100" class="img" /></a>
     
    	<a class="fancybox" href="2_b.jpg" data-fancybox-group="gallery" title="Etiam quis mi eu elit temp"><img src="2_s.jpg" alt="" width="100" class="img" /></a>
     
    	<a class="fancybox" href="3_b.jpg" data-fancybox-group="gallery" title="Cras neque mi, semper leon"><img src="3_s.jpg" alt="" width="100" class="img" /></a>
     
    	<a class="fancybox" href="4_b.jpg" data-fancybox-group="gallery" title="Sed vel sapien vel sem uno"><img src="4_s.jpg" alt="" width="100" class="img img_last" /></a>
    </p></div>
    <figcaption>
    <h3>test</h3>
    <span>test_2</span>
    </figcaption>
    </figure>
    </li>
    </ul>		
    </section>
    Je laisse les figcations pour un usage ultérieur (par la suite, j'aime "voiler" et titrer chaque images apparentes, mais je suis bien loin d'en être à ce stade )

    Le js ajouté :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    // init Isotope
    var $elements = $('#elements').isotope({
      // options
    });
    // filter items on button click
    $('#filters').on( 'click', 'button', function() {
      var filterValue = $(this).attr('data-filter');
      $container.isotope({ filter: filterValue });
    });
    Je ne sais que dire de plus :p
    Merci pour ton aide et bon week-end,
    dh

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 110
    Points : 44 929
    Points
    44 929
    Par défaut
    Si je comprends bien tu n'as PAS BESOIN de ce plugin attendu que ce que tu cherches n'est qu'afficher/masquer une galerie suivant l'appui sur un bouton!

    Le diaporama_1 a lui plusieurs photos, la galerie Fancybox classique (mais une seule s'affiche, je ne sais pas pourquoi ?).
    peut être que le chemin de tes images est en cause...

  5. #5
    Membre habitué
    Homme Profil pro
    Webdesigner
    Inscrit en
    Août 2014
    Messages
    445
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Août 2014
    Messages : 445
    Points : 138
    Points
    138
    Par défaut du peu que j'ai lu il semble déjà au moins te manquer des data-filter
    Slt NoSmoking,
    Peux-tu me dire ou manquent les data-filter dans mon code ?
    (histoire de comprendre
    Sinon, Isotope n'étant pas nécessaire pour réaliser ce que je désire (merci NoSmoking et avant de clôturer cette discussion (pour en ouvrir une autre plus intelligente de ma part
    ces quelques questions dont les réponses m'aideront à la formuler.
    Dans l'exemple ci-dessous
    https://www.youtube.com/watch?v=mmGT...ature=youtu.be
    Le masquer / afficher s'effectue via js ?
    La diminution des images lors de la transition par une fonction animate (et donc js aussi) ?
    Le calque/figcaption uniquement via les CSS ?
    Ai-je bien compris ou encore raté qq chose
    Merci pour ton aide et bonne fin de week-end,
    dh

  6. #6
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 110
    Points : 44 929
    Points
    44 929
    Par défaut
    Peux-tu me dire ou manquent les data-filter dans mon code ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $('#filters').on( 'click', 'button', function() {
    ...tu n'as pas de BUTTON dans le conteneur filter.

    Le masquer / afficher s'effectue via js ?
    ...oui c'est pris en charge par le plugin.

    La diminution des images lors de la transition par une fonction animate (et donc js aussi) ?
    ...pas regardé le coeur du plugin, d'autant qu'il fonctionne également sans jQuery visiblement, mais c'est également du JS tout comme jQuery d'ailleurs.

    Le calque/figcaption uniquement via les CSS ?
    ...pas compris la question !

    Ai-je bien compris ou encore raté qq chose
    ...peut être le site officiel http://isotope.metafizzy.co/filtering.html

    Pour finir tu n'en as pas besoin mais tu peux l'utiliser si l'effet de transition te ravi

  7. #7
    Membre habitué
    Homme Profil pro
    Webdesigner
    Inscrit en
    Août 2014
    Messages
    445
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Août 2014
    Messages : 445
    Points : 138
    Points
    138
    Par défaut
    Merci NoSmoking
    Houlala, je suis bien allé sur le site officiel, mais rien ne me parle
    Merci pour ton code, je pense être parti d'un tuto incomplet (ou j'ai encore zappé un truc ce qui est fort possible, malgré une attention particulière) :/
    La question précédente était plutôt : puis je me passer d'Isotope pour ce que je désire faire (le lien Youtube publié) ? Enfin, le plus simple, c'est avec ou sans ?
    Bon, je sais que je m'attaque à un truc lourd vu mon niveau (qui a bien progressé depuis mon inscription à ce site !!!).
    Merci pour ton aide et bonne fin de week-end,
    dh

  8. #8
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 110
    Points : 44 929
    Points
    44 929
    Par défaut
    Le plus simple est bien sûr de s'en passer

    Exemple réalisé à partir de leurs explications et code fourni
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    <!DOCTYPE html>
    <html lang="fr">
    <head>
    <meta charset="UTF-8">
    <title>Isotope - filtering, vanilla JS</title>
    <meta name="Author" content="NoSmoking">
    <style>
    body {
        font:normal 1.0em/1.5em Verdana,Arial,Helvetica,sans-serif;
    }
    #main {
        width:60em;
        margin:auto;
    }
    h1 {
        color:#069;
    }
    div {
        box-sizing:border-box;
    }
    ul {
        display:table;
        margin:1em auto;
        padding:0;
        list-style:none;
        text-align:center;
        width: 100%;
    }
    /*---- button ----*/
    .button {
        display:table-cell;
        line-height:2em;
        background:#EEE;
        background-image:linear-gradient( to bottom,hsla(0,0%,0%,0),hsla(0,0%,0%,0.2) );
        text-shadow:0 1px white;
        cursor:pointer;
        width: 12.5%;
    }
    /*-- effet sur bouton --*/
    .button:hover {
        background-color:#8CF;
        text-shadow:0 1px hsla(0,0%,100%,0.5);
    }
    .button:active,.button.is-checked {
        background-color:#28F;
    }
    .button.is-checked {
        color:white;
        text-shadow:0 -1px hsla(0,0%,0%,0.8);
    }
    .button:active {
        box-shadow: inset 0 1px 10px hsla(0,0%,0%,0.8);
    }
    /*---- conteneur isotope ----*/
    .isotope {
        width:80%;
        margin:auto;
    }
    /* ---- .vignette ---- */
    .vignette {
        position:relative;
        float:left;
        width:100px;
        height:100px;
        margin:10px;
        padding:10px;
        border: 1px solid #ABC;
    }
    </style>
    <script src="http://isotope.metafizzy.co/beta/isotope.pkgd.js"></script>
    <script src="http://isotope.metafizzy.co/beta/bower_components/classie/classie.js"></script>
    <script>
    // external js
    // http://isotope.metafizzy.co/beta/isotope.pkgd.js
    // http://isotope.metafizzy.co/beta/bower_components/classie/classie.js
    // -----  ----- //
    docReady( function() {
      // init Isotope
      var iso = new Isotope( '.isotope', {
        itemSelector: '.vignette',
        layoutMode: 'fitRows'
      });
      // bind filter button click
      var filtersElem = document.querySelector('#filters');
      eventie.bind( filtersElem, 'click', function( event ) {
        // only work with buttons
        if ( !matchesSelector( event.target, 'li' ) ) {
          return;
        }
        var filterValue = event.target.getAttribute('data-filter');
        iso.arrange({ filter: filterValue });
      });
      // change is-checked class on buttons
      var buttonGroups = document.querySelectorAll('.button-group');
      for ( var i=0, len = buttonGroups.length; i < len; i++ ) {
        var buttonGroup = buttonGroups[i];
        radioButtonGroup( buttonGroup );
      }
    });
    function radioButtonGroup( buttonGroup ) {
      eventie.bind( buttonGroup, 'click', function( event ) {
        // only work with buttons
        if ( !matchesSelector( event.target, 'li' ) ) {
          return;
        }
        classie.remove( buttonGroup.querySelector('.is-checked'), 'is-checked' );
        classie.add( event.target, 'is-checked' );
      });
    }
    </script>
    </head>
    <body>
    <div id="main">
      <h1>Isotope - filtering, vanilla JS</h1>
      <a href="http://isotope.metafizzy.co/filtering.html">La documentation</a>
      <div id="filters" class="button-group">
        <ul>
          <li class="button is-checked" data-filter="*">Tout</li>
          <li class="button" data-filter=".cours">Cours</li>
          <li class="button" data-filter=".livres">Livres</li>
          <li class="button" data-filter=".xhtml">XHTML</li>
          <li class="button" data-filter=".css">CSS</li>
          <li class="button" data-filter=".javascript">JS</li>
          <li class="button" data-filter=".faq">Les FAQ</li>
          <li class="button" data-filter=":not(.javascript)">Not JS</li>
        </ul>
      </div>
     
      <div class="isotope">
        <div class="vignette cours xhtml">
          <img src="http://club.developpez.com/webdesign/Rubriques/Web/XHTML/logo_cours_xhtml.gif" alt="">
        </div>
        <div class="vignette cours css">
          <img src="http://club.developpez.com/webdesign/Rubriques/Web/CSS/logo_cours_css.gif" alt="">
        </div>
        <div class="vignette cours javascript">
          <img src="http://club.developpez.com/webdesign/Rubriques/Web/JavaScript/logo_cours_javascript.gif" alt="">
        </div>
        <div class="vignette livres xhtml">
          <img src="http://club.developpez.com/webdesign/Rubriques/Web/XHTML/logo_livres_xhtml.gif" alt="">
        </div>
        <div class="vignette livres css">
          <img src="http://club.developpez.com/webdesign/Rubriques/Web/CSS/logo_livres_css.gif" alt="">
        </div>
        <div class="vignette livres javascript">
          <img src="http://club.developpez.com/webdesign/Rubriques/Web/JavaScript/logo_livres_javascript.gif" alt="">
        </div>
        <div class="vignette faq xhtml">
          <img src="http://club.developpez.com/webdesign/Rubriques/Web/XHTML/logo_faq_xhtml.gif" alt="">
        </div>
        <div class="vignette faq css">
          <img src="http://club.developpez.com/webdesign/Rubriques/Web/CSS/logo_faq_css.gif" alt="">
        </div>
        <div class="vignette faq javascript">
          <img src="http://club.developpez.com/webdesign/Rubriques/Web/JavaScript/logo_faq_javascript.gif" alt="">
        </div>
      </div>
     
    </div>
    </body>
    </html>
    observe la relation entre les class des éléments et les data-filter.

  9. #9
    Membre habitué
    Homme Profil pro
    Webdesigner
    Inscrit en
    Août 2014
    Messages
    445
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Août 2014
    Messages : 445
    Points : 138
    Points
    138
    Par défaut
    Slt NoSmoking,
    SPLENDIDE TRAVAIL !!!
    Mais SNIF' J'ai eu beau retourner les codes dans tous les sens, ça ne fonctionne pas sur ma page
    Même la barre des menus ne fonctionne pas (l'effet :hover/bouton radio cliqué), mais ce n'est pas le sujet :p
    Ça, c'était tout à l'heure
    Depuis, j'ai voulu t'envoyer mon code (donc le tien+fancybox), j'y ai donc fait un peu le ménage (un vrai bordel mes pages
    La barre des menus s'est mise à fonctionner
    Mais toujours pas d'effet Isotope
    BORDEL !!!
    J'ai donc rajouté (de nouveau) la classe vignette (que j'avais supprimée car ça ne marchait pas).
    Et donc, comment dire... ???
    ÇA FONCTIONNE !!!! TOUT FONCTIONNE, RIEN A DIRE !!!
    Pourquoi la classe vignette est-elle si importante ???
    En attendant, RESPECT MONSIEUR !!!! BRAVO
    UN IMMENSE MERCI
    dh
    PS : mais QUEL TALENT !!!

  10. #10
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 110
    Points : 44 929
    Points
    44 929
    Par défaut
    Pourquoi la classe vignette est-elle si importante ???
    c'est elle qui détermine quels éléments feront partie de la danse
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
      var iso = new Isotope( '.isotope', { // 1st paramètre
        itemSelector: '.vignette',
        layoutMode: 'fitRows'
      });

  11. #11
    Membre habitué
    Homme Profil pro
    Webdesigner
    Inscrit en
    Août 2014
    Messages
    445
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Août 2014
    Messages : 445
    Points : 138
    Points
    138
    Par défaut
    Of course
    So GREAT !!!
    Bonne Soirée NoSmoking, et encore MERCI !!!
    dh

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/01/2012, 19h08
  2. utilisation de Fancybox
    Par antlavoinign dans le forum jQuery
    Réponses: 8
    Dernier message: 15/07/2010, 22h37
  3. plugin carousel et plugin fancybox
    Par DiPSoMaNiE dans le forum jQuery
    Réponses: 13
    Dernier message: 10/03/2010, 16h22
  4. [Plugin] Fancybox ouvrir une fenêtre dimensionnée
    Par condon dans le forum jQuery
    Réponses: 14
    Dernier message: 23/06/2009, 08h33
  5. Réponses: 1
    Dernier message: 05/04/2009, 18h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo