Hum lol, tu répètes ton code JavaScript pour chaque produit !?
Tu utilises des classes pour des choses qui sont manifestement unique (puicque postfixé avec ton id produit) ?!
Du coups tes modal sont stylé en css avec .modal1, .modal,2,.modal3 avec tout tes ids produits ? ^^
J’espère que t'est en mode bricolage ou que tu débutes dans le métier pacque là...
Code :
- <div id="MyCuvees" class="row">
- <?php
- $args = array(
- 'post_type' => array('cuvees'),
- 'cat' => $id_cat,
- 'orderby'=> 'title',
- 'order' => 'ASC'
- );
- $my_query=new WP_Query($args);
- while ( $my_query->have_posts() ) : $my_query->the_post();
- ?>
- <div class="col the-cuvee" data-id="<?php the_ID(); ?>" data-fill="<?php the_field('couleur'); ?>">
- <img class="img-fluid" src="<?php the_field('photo'); ?>" style="max-height: 500px;">
- <h3>Cuvée</h3>
- <h2 style="color:<?php the_field('couleur'); ?>;"><?php the_title() ?></h2>
- </div>
- <div class="row modal" style="display: none; position: absolute;">
- <p><?php the_field('description'); ?></p>
- <p><?php the_field('caracteristiques'); ?></p>
- <p><?php the_field('accords'); ?></p>
- <a href="<?php the_field('pdf'); ?>">Fiche technique</a>
- </div>
- <?php endwhile; ?>
- </div>
- <script>
- jQuery(document).ready(function($) {
- //ecouteur d'évenement sur le conteneur
- $('#MyCuvees').on({
- mouseenter: function () {
- $("#liseret" ).css({fill : $(this).data('fill')});
- },
- mouseleave: function () {
- //$("#liseret" ).css({fill : '#FFFFFF'});
- },
- click: function () {
- //masque tous
- $('#MyCuvees div.modal').hide();
- //affiche la mdoal suivant le div cliqué
- $(this).next().show();
- }
- }, '.the-cuvee');
- });
- </script>
|
Sortir ton script de ta boucle, utiliser des classes générique et déléguer les événements ce sera déjà mieux...
https://api.jquery.com/on/
https://api.jquery.com/data/
https://api.jquery.com/next/
Désolé pour le ton que j'ai employé, on est tous passé par de l'apprentissage, on vas dire que j'ai eu une sale matinée...
---------------
D3