2017-08-11 4 views
0

Ma barre de navigation fonctionne en défilement vers le bas mais ne s'arrête pas à la position d'origine lors du défilement vers le haut. J'ai vu un autre article traitant d'un problème similaire mais je n'ai pas pu l'appliquer de manière à corriger mon problème, étant donné que je suis TRÈS nouveau à ce sujet. A l'origine, la barre de navigation ne fonctionnait pas du tout mais grâce à beaucoup de lecture ici sur stackoverflow, j'ai pu la faire fonctionner à moitié. J'espère que vous pourrez me corriger lol, de toute façon MERCI d'avance pour avoir lu.barre de navigation glissante défiler vers le haut ne retourne pas la fonction "else" ne supprime pas la classe

Applicable CSS-

nav { 
    z-index: 500; 
    background-color: #e7ecf2; 
    } 
    .nav-placeholder { 
    margin: 0 0 20px 0; 
    } 
    .fixed { 
    position: fixed; 
    top: 5px; 
    left: 0; 
    width: 100%; 
    background-color: transparent; 
    } 
    .fixed .nav-inner { 
    max-width: 700px; 
    margin: 0 auto; 
    background-color:transparent; 
    } 

Applicable JQuery-

$(document).ready(function() { 
    var navOFFset = $("nav").offset().top; 
    $("nav").wrap('<div class="nav-placeholder"></div>'); 
    $(".nav-placeholder").height($("nav").outerHeight()); 
    $("nav").wrapInner('<div class="nav-inner"></div>'); 

    $(window).scroll(function() { 
    var scrollPos=$(window).scrollTop(); 

    if (scrollPos => navOffset) { 
    $("nav").addClass("fixed"); 
    } else { 
     $("nav").removeClass("fixed"); 

    } 
    }); 
}); 

de HTML- applicable

<nav class="row wrapme container-fluid"><div class="nav-placeholder"> 
    <div class="nav-inner"><div class="col-sm-3"> 
    <button class="btn btn-block target">About Me</button></div> 
     <div class="col-sm-3"> <button class="btn btn-block target" id="target2">Portfolio</button></div> 
     <div class="col-sm-3"> <button class="btn btn-block target" id="target3">Contact</button></div> 
      <div class="col-sm-3"><button class="btn btn-block target" id="target3">Links</button></div> 
     </div> </div></nav> 
+0

collez également votre code html. –

+0

pas de problème, édité. Merci – DropC6Strings

+0

https://codepen.io/davidwhitten85/pen/rzwBWE – DropC6Strings

Répondre

0

fait un changement mineur dans la logique. Si scrollPos = navOffset, la classe "fixed" doit être supprimée.

$(window).scroll(function() { 
    var scrollPos=$(window).scrollTop(); 

    if (scrollPos > 0) {//change removed = and navPosition param 
    $("nav").addClass("fixed"); 
    } else { 
     $("nav").removeClass("fixed"); 

    } 
    }); 

Espérons que cela aide.

+0

okay tenté = suppression, mais qui a arrêté la fonction tout à fait le menu est maintenant non affecté par $ – DropC6Strings

+0

excuses manqué un changement de plus, maintenant mis à jour la réponse –

+0

merci beaucoup. Cela a fonctionné parfaitement. J'espère que cela aidera quelqu'un d'autre aussi. learning = hey est un peu de $ abc s'attaquer à ce projet lol. Je suppose que le paramètre navPosition était inutile et avait à voir avec quelque chose en dehors du code original peut-être? comme cela venait d'une autre question sur le flux de cheminée. – DropC6Strings