2010-11-02 25 views

Trả lời

16

Bạn có thể thực hiện việc này bằng cách sử dụng .scroll().scrollTop().

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

Xem thêm điều này question.

+0

thanx rất nhiều !!!! – gadlol

4

Đây là những gì tôi đã sử dụng trên trang web của mình ... khi ai đó cuộn 620 pixel xuống menu sẽ bật lên, tôi nhập số bằng tay. Tôi vẫn là một Noob tại javascript nhưng tôi hy vọng điều này sẽ giúp

<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

Trong khi công trình này, nó có thể được cải thiện, không cần phải có câu lệnh if thứ hai, chỉ cần sử dụng một câu lệnh khác. Cũng chỉ cần loại bỏ các 'phong cách' thuộc tính có thể nguy hiểm nếu có cái gì đó khác theo kiểu nội tuyến, có lẽ bởi một chức năng js. Tôi nghĩ rằng một thực hành tốt hơn là để đảo ngược phong cách bạn thêm vào trong ban đầu nếu – jakecraige

14

Trong javascript thuần bạn chỉ có thể làm như thế:

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

More infos (The Mozilla Developer Network):

+1

Tôi ngạc nhiên rằng không ai upvoted này. +1 từ tôi;) – Arjun

Các vấn đề liên quan