ugrás a tartalomhoz

JQuery scroll segítség

szuvik1 · 2015. Jan. 27. (K), 23.26
Sziasztok,

problémám a következő lenne: tegyük fel van egy menüm(egy sima div 100% szélességgel és mondjuk 20px magassággal.) Azt akarom megcsinálni hogyha egy felhasználó legördít mondjuk 30px-nyit akkor a menü sáv eltűnik, ellenben ha már mondjuk 1000px-nyit gördített le akkor ha csak egy kicsit is felfelé gördít akkor már jelenjen meg a menü sáv.
A próbálkozásom:
$(window).scroll(function(){
    if($(window).scrollTop() > 0)
    {
        $("nav").css({'height' : '0'});
    }

	if(($(window).scrollTop() + $(window).height()) < $(document).height()) {
      $("nav:odd").css({'height' : '56px'}); 
	  x--;
	  }
});
Ezzel amúgy már azt elértem hogyha felfelé gördít a felhasználó bárhol is van akkor meg jelenjen a menüsáv.

Válaszokat előre is köszönöm.

Üdv.: Viktor
 
1

először némi optimalizáció.

szabo.b.gabor · 2015. Jan. 28. (Sze), 09.32
először némi optimalizáció. mivel a $(window).scroll() azért elég sokszor lefut, rakd változóba a dolgaidat, hogy ne fusson le mindig a $() függvény. amúgy meg csináld azt, amit le is írtál :)
var
   $win = $(window),
   scrollTop = 0;

$win.scroll(function(){
   var currentTop = $win.scrollTop();
   
   if(currentTop < scrollTop){
      //show menu
   }
   scrollTop = currentTop;
});
nagyjából ennyi szerintem, azért az eltűntetést még rakd bele.. :)
2

örök hála

szuvik1 · 2015. Jan. 28. (Sze), 18.53
Köszönöm a megoldást, egy kicsit még át kellet írnom, hogy beleilljen a kódomba. De most már tökéletes :)
3

Szívesen

szabo.b.gabor · 2015. Jan. 29. (Cs), 09.28
Szívesen