2012-11-02 15 views
13

Znalazłem to, ale robi to 100px przed dolną częścią strony. Potrzebuję go 100px od góry strony. Wiem, jak to zaimplementować, zrobiłem inne animacje jquery, po prostu nie to, co musi być w tym.Pokaż div po przewinięciu 100 pikseli od góry strony

$(window).scroll(function(){ 
    if($(window).scrollTop() + 100 > $(document).height() - $(window).height()){ 

    alert("at bottom"); 

    } 
}); 

A także, muszę wiedzieć, jak odwrócić ten tak div znika podczas przewijania z powrotem przed 100px użytkownika.

To będzie używane do paska nawigacji.

Edit2> To działało również:

$(window).scroll(function(){ 
    if($(window).scrollTop() > 100){ 
     $("#div").fadeIn("slow"); 
    } 
}); 
$(window).scroll(function(){ 
    if($(window).scrollTop() < 100){ 
     $("#div").fadeOut("fast"); 
    } 
}); 

Odpowiedz

24

Spróbuj tego:

$(window).scroll(function() { 
    if ($(window).scrollTop() > 100) { 
     // > 100px from top - show div 
    } 
    else { 
     // <= 100px from top - hide div 
    } 
}); 
+0

Myślę, że dodałem trochę informacji, odkąd odpowiedziałeś na to. Spróbuję tego, co dałeś do tej pory. Dzięki! – DiscoveryOV

+0

@ R3TRI8UTI0N Nie ma problemu, zaktualizowałem swoją odpowiedź dla ciebie –

+0

To działa. Po aktualizacji mojego wpisu wziąłem go w swoje ręce, aby go rozwiązać i wpadłem na to, co jest wymienione pod Edit2> w moim poście. Dzięki za pomoc! – DiscoveryOV

10

Spróbuj tego:

var menu = $("nav"); 
$(window).scroll(function(){ 
    //more then or equals to 
    if($(window).scrollTop() >= 100){ 
     menu.show(); 

    //less then 100px from top 
    } else { 
    menu.hide(); 

    } 
}); 
+2

Dlaczego to się udało? Gdyby tak było, ponieważ Rory zamieścił dokładnie tę samą odpowiedź, którą widać w odnośniku, zrobił on zmianę w swojej odpowiedzi o 14:04, godzinę po mojej odpowiedzi. –

3

Polecam to zrobić:

$("#divname").hide(); 
$(window).scroll(function() { 
    if ($(window).scrollTop() > 100) { 
     $("#divname").fadeIn("slow"); 
    } 
    else { 
     $("#divname").fadeOut("fast"); 
    } 
}); 

Teraz element div jest już ukryty podczas odwiedzania strony.

Bez tego:

$("#divname").hide() 

byłoby pokazać, a następnie wykonać Fadeout. I nie tego chcesz.

Powiązane problemy