2010-11-02 17 views

risposta

16

È possibile farlo utilizzando .scroll() e .scrollTop().

$(window).scroll(function() { 
    // use the value from $(window).scrollTop(); 
}); 

Vedi anche questo question.

+0

grazie mille !!!! – gadlol

4

Questo è quello che ho usato sul mio sito web ... quando qualcuno scorre verso il basso di 620 pixel il menu si aprirà, inserisco i numeri manualmente. Sono ancora un noob a javascript, ma spero che questo aiuta

<script> 
    $(document).ready(function(){ 
     $(window).scroll(function(){ 
      var scrollTop = 620; 
      if($(window).scrollTop() >= scrollTop){ 
       $('.Nav').css({ 
        position : 'fixed', 
        top : '0' 
       }); 
      } 
      if($(window).scrollTop() < scrollTop){ 
       $('.Nav').removeAttr('style'); 
      } 
     }) 
    }) 
    </script> 
+0

Mentre funziona, potrebbe essere migliorato, non è necessario per la seconda istruzione if, basta usare un altro. Anche solo rimuovere l'attributo 'style' potrebbe essere pericoloso se c'è qualcos'altro in linea in stile, magari con un'altra funzione js. Penso che una pratica migliore sarebbe quella di invertire lo stile che hai aggiunto nell'iniziale se – jakecraige

14

in puro JavaScript si può semplicemente fare così:

window.onscroll = function (e) { 
    console.log(window.scrollY); // Value of scroll Y in px 
}; 

Maggiori informazioni (Il Mozilla Developer Network):

+1

mi sorprende che nessuno lo abbia messo in circolazione. +1 da me;) – Arjun

Problemi correlati