-
AuthorPosts
-
April 8, 2022 at 5:37 am #1347665
Bonjour,
Je rencontre un nouveau problème. j’aimerais avoir un bloc collant en dessous de mon menu (voir photo).
J’ai cherché et vue que le code à rajouter était :
position: sticky;
top: 100px;Cependant ca ne fonctionne pas et je me demande donc à quel élément je dois rajouter ce code? A la section couleur ou à l’ensemble des éléments composants le block?
Pour info, c’est sur le produit, template excursion.
Cordialement
April 8, 2022 at 12:35 pm #1347701Hey sebzh22,
Could you post a link to where we can see the element in question please?
Best regards,
RikardApril 8, 2022 at 4:59 pm #1347731April 10, 2022 at 10:16 pm #1347875Hi,
Merci pour le lien vers votre site, pour faire coller votre section couleur “barre de menu” sous le header on scroll j’ai ajouté le script et css suivant à votre thème enfant, et dans mes tests la “barre de menu” avec la classe personnalisée” collant” se collerait dès qu’il toucherait l’en-tête. Pour les mobiles, sous 990px, puisque l’en-tête n’est pas collant, ce script ferait coller la “barre de menu” en haut de l’écran. Cela a bien fonctionné dans mon test en injectant le code via le navigateur.
Mais lorsque j’ai ajouté ceci dans votre thème enfant, la hauteur du défilement n’est pas correcte, il ne colle donc pas jusqu’à un défilement beaucoup plus loin, peut-être que cela a à voir avec votre mise en cache, alors laissez-le en place, veuillez essayer d’effacer ou de désactiver votre cache et vérifiez la page.— Translated with Google —
Thank you for the link to your site, to make your color section “menu bar” stick under the header on scroll I added the following script and css to your child theme, and in my tests the “menu bar” with the custom class “collant” would stick as soon as it touched the header. For mobile, under 990px, since the header is not sticky this script would make the “menu bar” stick at the top of the screen. This worked well in my test by injecting the code via the browser.
But when I added this into your child theme the height of the scroll is not correct so it doesn’t stick until a much further scroll, perhaps this has to do with your caching so left it in place, please try clearing or disabling your cache and check the page.this function in your child theme functions.php
function custom_collant_script() { ?> <script> (function($){ $(function() { var scroll_start = 0; var startchange = $('.avia-section.collant'); var offset = startchange.offset(); var width = $(window).width() if (startchange.length){ $(document).scroll(function() { scroll_start = $(this).scrollTop(); if ((width >= 990)) { if(scroll_start > offset.top - 117) { document.querySelector('.avia-section.collant').classList.add('sticky-top'); } else { document.querySelector('.avia-section.collant').classList.remove('sticky-top'); } } if ((width < 989)) { if(scroll_start > offset.top) { document.querySelector('.avia-section.collant').classList.add('sticky-top-mobile'); } else { document.querySelector('.avia-section.collant').classList.remove('sticky-top-mobile'); } } }); } }); })(jQuery); </script> <?php } add_action('wp_footer', 'custom_collant_script');
and this css
.sticky-top { position:fixed!important; top:117px!important; z-index:600!important; } .sticky-top-mobile { position:fixed!important; top:0!important; z-index:600!important; }
Best regards,
MikeApril 12, 2022 at 8:13 am #1348047Bonjour,
Merci pour votre aide, même après avoir purger mon cache la barre ne se colle que après un certain temps à la barre de menu.
J’aimerais si possible n’avoir cette fonction que sur ordinateur donc enlever la partie pour mobile. Pourriez-vous me dire quelle partie supprimer?Cordialement
April 12, 2022 at 12:35 pm #1348095Hi,
Thanks for the feedback, for this to only work on desktop I adjusted the script in your child theme functions.php to:function custom_collant_script() { ?> <script> (function($){ $(function() { var scroll_start = 0; var startchange = $('.avia-section.collant'); var offset = startchange.offset(); var width = $(window).width() if (startchange.length){ $(document).scroll(function() { scroll_start = $(this).scrollTop(); if((width >= 990) && (scroll_start > offset.top - 117)) { document.querySelector('.avia-section.collant').classList.add('sticky-top'); } else { document.querySelector('.avia-section.collant').classList.remove('sticky-top'); } }); } }); })(jQuery); </script> <?php } add_action('wp_footer', 'custom_collant_script');
and the child theme css to:
.sticky-top { position:fixed!important; top:117px!important; z-index:600!important; }
Please try disabling your Cloudflare & LiteSpeed Cache and leave it disabled as it may take a few hours for the cache to clear.
I would like to check again later the cache disabled.Best regards,
MikeApril 22, 2022 at 9:56 am #1349119Bonjour,
Je vient de tester le code après avoir vider tout mon cache et cela ne fonctionne pas.
Sur petit écran la barre est collante en bas de l’écran.
Sur ordinateur la barre est toujours collante une fois arriver en milieu de page plus ou moins.Cordialement
April 22, 2022 at 5:11 pm #1349166Hi,
Thank you for the feedback, I adjusted it so it will wait for the page to fully load before the calculations, I think the lazy load images were affecting the calculations.
Please clear your browser cache and check, and note that it won’t work on screens below 990px, as above you asked for it to not work on mobile.
Please note that if you are testing with Safari it can be hard to clear the cache, often you need to also clear the history to fully purge the cache, following these steps for Safari and note Step 4 where you will Clear the History.Best regards,
MikeApril 25, 2022 at 7:29 am #1349352Bonjour,
Super merci cela fonctionne parfaitement.
Une question, si jamais je veux que cette barre soit collante (comme actuellement, une fois arrivée à sa hauteur), mais qu’elle remplace le menu. Que faut-il que je modifie?
Pourriez-vous m’écrire ce code que je testerais pour choisir ce que je préfère par la suite?Cordialement
April 25, 2022 at 1:12 pm #1349395Hi,
Heureux d’entendre que cela a aidé, le script rend la section de couleur avec la classe personnalisée “collant” collante, vous pouvez modifier les éléments à l’intérieur de la section de couleur et cela fonctionnera toujours de la même manière.— Translated with Google —
Glad to hear that this helped, the script makes the color section with the custom class “collant” sticky, you can change the elements inside the color section and it will still work the same.
Best regards,
MikeApril 26, 2022 at 6:32 am #1349460Bonjour,
Je me suis mal exprimé. j’aimerais savoir comment faire pour que la section couleur remplace le menu ou que le menu ne soit pas collant pour ne pas avoir une barre collante trop épaisse.
Ou sinon si ce n’est pas possible de faire comme sur cette page. Une fois que l’on commence à descendre, le menu diminue sa hauteur.Merci encore
April 26, 2022 at 12:41 pm #1349522Hi,
Your can make your header not sticky at Enfold Theme Options ▸ Header ▸ Header behavior ▸ Sticky Header there is also a setting for Shrinking Header.Best regards,
MikeJuly 13, 2022 at 6:54 am #1358154Bonjour,
Merci pour votre réponse. Cependant, je souhaiterais rendre l’entête non collante seulement sur cette page produit et donc que ma section couleur avec la classe CSS .collant deviennent collante en remplacement du menu une fois arrivé en haut de page.
Cordialement
July 13, 2022 at 12:57 pm #1358197Hi,
Thanks for the feedback, I changed your css to this:.sticky-top { position:fixed!important; top:0!important; z-index:600!important; } .sticky-top-added { position: fixed !important; top: -85px; width: 100%; z-index: 999; opacity: 0; background: #fff; transition: 0.3s all; }
and changed the script to this:
function custom_collant_script() { ?> <script> window.addEventListener('DOMContentLoaded', function() { (function($){ $(function() { var scroll_start = 0; var startchange = $('.avia-section.collant'); var offset = startchange.offset(); var width = $(window).width() if (startchange.length){ $(document).scroll(function() { scroll_start = $(this).scrollTop(); if((width >= 990) && (scroll_start > offset.top - 85)) { document.querySelector('.avia-section.collant').classList.add('sticky-top'); document.querySelector('#header_main').classList.add('sticky-top-added'); } else { document.querySelector('.avia-section.collant').classList.remove('sticky-top'); document.querySelector('#header_main').classList.remove('sticky-top-added'); } }); } }); })(jQuery); }); </script> <?php } add_action('wp_footer', 'custom_collant_script');
Now when the color section “collant” reaches the header the header hides and the color section sticks to the top of the screen.
Please note that if you are logged in and the admin bar is showing at the top the color section looks like it is under the admin bar, so please test not logged in and you will see that the color section is at the top of the screen.
Please clear your browser cache and check.
Please note that if you are using Safari can be hard to clear the cache, often you need to also clear the history to fully purge the cache, following these steps for Safari and note Step 4 where you will Clear the History.Best regards,
MikeJuly 22, 2022 at 4:21 pm #1359206Bonjour,
Je reviens vers vous un peu tardivement.
L’entête est effectivement bien collante maintenant comme je le souhaite en cachant le menu.
Cependant, j’ai l’impression que cette barre est également collante sur mobile. Pourriez-vous me dire quel élément du code est à modifier pour ne pas activer cette fonction sur mobile?
En gros, je ne veux rien de collant sur mobile.
Cordialement
July 22, 2022 at 6:06 pm #1359214Hi,
Thanks for the feedback, I checked the page linked below on a mobile phone and did not find anything sticky, the code above is written so that it will only be sticky on screens above 990px, if you are seeing this on an iPad try changing the line:
if((width >= 990) && (scroll_start > offset.top - 85)) {
to:
if((width >= 1440) && (scroll_start > offset.top - 85)) {
if you are testing on a desktop screen and changing the width of the browser window to emulate a mobile phone (425px) then please reload the page before testing because the screen width is determined on the page load.Best regards,
MikeJuly 25, 2022 at 8:47 am #1359347Bonjour,
Merci pour votre retour.
Autant pour moi, cela fonctionne correctement. Je n’avais effectivement pas recharger la page lors d’un essai sur ordinateur.
Le problème est résolu et le sujet peut donc être nommé en résolu.
Merci encore pour votre aide.
Sébastien
July 25, 2022 at 10:48 am #1359358Hi,
Glad we were able to help, if you have any further questions please create a new thread and we will gladly try to help you. Thank you for using Enfold.Best regards,
Mike -
AuthorPosts
- The topic ‘block collant en dessous du menu collant’ is closed to new replies.