2012-11-02 16 views
13

Ho trovato questo, ma questo fa 100px prima della parte inferiore della pagina. Ho bisogno di 100px dalla parte superiore della pagina. So come implementarlo, ho fatto altre animazioni jQuery, non solo ciò che deve essere in questo.Mostra div dopo lo scorrimento di 100 px dalla parte superiore della pagina

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

    alert("at bottom"); 

    } 
}); 

E inoltre, ho bisogno di sapere come invertire questo modo il div scompare quando il rotolo utente back up prima della 100px.

Questo sarà utilizzato per una barra di navigazione.

Edit2> Questo ha funzionato anche:

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

risposta

24

Prova questo:

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

Penso di aver aggiunto alcune informazioni da quando hai risposto a questo. Proverò ciò che hai dato finora. Grazie! – DiscoveryOV

+0

@ R3TRI8UTI0N Nessun problema, ho aggiornato la mia risposta per voi –

+0

Questo funziona. Dopo aver aggiornato il mio post, l'ho preso nelle mie mani per risolverlo e ho trovato ciò che è elencato sotto Edit2> nel mio post. Grazie per l'aiuto! – DiscoveryOV

10

Prova questa:

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

Perché questo ha ottenuto un voto negativo? Se è stato perché Rory ha pubblicato la stessa risposta esatta puoi vedere nel riferimento che ha fatto una modifica alla sua risposta alle 14:04, un'ora dopo la mia risposta. –

3

lo consiglio a fare questo:

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

Ora il div è già nascosto quando visiti la tua pagina.

Senza questo:

$("#divname").hide() 

Sarebbe mostrare e quindi eseguire un FadeOut. E non è quello che vuoi.

Problemi correlati