Partage

Liens ancres ne fonctionnent plus sous chrome

Sujet résolu
9 octobre 2017 à 12:37:33

Bonjour,

J'ai créé le site www.lesgitesduchienvert.be il y a 2 ans, avec pas mal de navigation fonctionnant avec des liens vers des ancres dans la page. J'y avais ajouté un smoothscroll.js pour avoir quelque chose de fluide mais soudainement le liens ne fonctionnent plus sur chrome. Pas de problème sur  safari, firefox, ainsi que sur mobile même sur chrome ...

J'ai d'abord pensé que c'était un soucis avec le smoothscroll mais en fait le scroll ne se fait plus du tout...

Un grand merci d'avance pour votre aide!

9 octobre 2017 à 17:00:31

Bonjour,

J'ai le même problème que vous sur quelques sites.

Avez-vous trouvé une solution ?

Merci

11 octobre 2017 à 10:43:09

Non, si je trouve la solution ailleurs je la posterai ici!

11 octobre 2017 à 15:08:00

Bonjour Baptiste,

j'ai le même problème avec mon site sous chrome…  je suis allé sur ton site et là surprise… sous chrome, ton site fonctionne ! Je clique sur le gite puis sur se détendre et ça marche, scroll automatique vers le bas jusqu'a la section se détendre ! Y aurait-il des soucis avec le cache…

Mon site : www.mankom.fr

Peux tu essayer sur le mien ?

Bien à toi

11 octobre 2017 à 16:03:17

Bonjour,

Merci pour ton retour, mais j'ai réglé le problème il y a justement une heure! J'ai changé la méthode de scroll, c'était avant via ce site : http://www.dwuser.com/education/content/quick-guide-adding-smooth-scrolling-to-your-webpages/

Sur le tien le lien ne fonctionne pas en effet (si on parle bien du bouton "réalisation").

Maintenant j'ai mis un petit script tout simple dans les pages concernées et ça fonctionne :

<script>
$(function() {

  // This will select everything with the class smoothScroll

  // This should prevent problems with carousel, scrollspy, etc...

  $('.smoothScroll').click(function() {

    if (location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '') && location.hostname == this.hostname) {

      var target = $(this.hash);

      target = target.length ? target : $('[name=' + this.hash.slice(1) + ']');

      if (target.length) {

        $('html,body').animate({

          scrollTop: target.offset().top

        }, 1000); // The number here represents the speed of the scroll in milliseconds

        return false;

      }

    }

  });

});

// Change the speed to whatever you want

// Personally i think 1000 is too much

// Try 800 or below, it seems not too much but it will make a difference
</script>

Liens ancres ne fonctionnent plus sous chrome

× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
  • Editeur
  • Markdown