Bonjour,

Je souhaite faire en sorte que quand un utilisateur a scrollé un nombre définie et quand il remonte un élément s'affiche, pour le moment j'ai réussi a faire en sorte d'afficher cet élément quand on remonte mais le problème c'est qu'à chaque scroll l'élément se cache et se dé cache alors que j'aimerai q'il reste afficher et le cacher que si on scroll vers le bas, voici mon code pour le moment :

// Stockage des différents éléments dans les variables
      var logo = $('#logo_fix');
      var lastScrollOffset = $(window).scrollTop();
      var vwindow = $(window);
      logo.hide();
      // Déclanche un évènement scroll
      vwindow.trigger( 'scroll' );
      vwindow.scroll(function(event){
        // Valeur de défilement lors du chargement de la page
        windowScroll = vwindow.scrollTop();
        if ( windowScroll > lastScrollOffset ){
            logo.hide();
        }else{
            if (vwindow.scrollTop() > 500){
                if (logo.is(':hidden')) logo.slideDown();
                else logo.slideUp();
            }
        }
        // Mise à jour variables
        lastScrollOffset = windowScroll;
      });

Voilà il y a un truc à régler dans se code mais je ne vois pas quoi !

Merci d'avance

3 réponses


Bonjour, peux tu faire un jsfiddle stp ?

Non c'est un peut trop compliqué de passer par jsfiddle car se que je veux traiter en jquery est un menu construit avec php, mais mon erreur vient du fait qu'à chaque scroll je met à jour la variable et ça c'est pas bon car je veux que quand l'utilisateur scroll vers le haut la bar reste affiché et dès qu'il va vers le bas elle fadeOut

Salut,
Rajoutes simplement une variable en boolean.
Qui te dis élément déjà visible ou non...
Si déjà visible return false pour quitter la fonction sinon tu exécutes ta fonction.