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:
  1. $(window).scroll(function(){  
  2.     if($(window).scrollTop() > 0)  
  3.     {  
  4.         $("nav").css({'height' : '0'});  
  5.     }  
  6.   
  7.     if(($(window).scrollTop() + $(window).height()) < $(document).height()) {  
  8.       $("nav:odd").css({'height' : '56px'});   
  9.       x--;  
  10.       }  
  11. });  
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 :)
  1. var  
  2.    $win = $(window),  
  3.    scrollTop = 0;  
  4.   
  5. $win.scroll(function(){  
  6.    var currentTop = $win.scrollTop();  
  7.      
  8.    if(currentTop < scrollTop){  
  9.       //show menu  
  10.    }  
  11.    scrollTop = currentTop;  
  12. });  
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