2012-02-15 48 views
7

Với mã sau đây, tôi đang cố gắng tìm khi người dùng cuộn xuống cuối trang. Trong điện thoại di động JQuery.Người dùng di động JQuery cuộn xuống dưới cùng

$(window).scroll(function(){ 
    if($(window).scrollTop() == $(document).height() - $(window).height()){ 
      alert("The Bottom"); 
    } 
}); 

Hiện tại tôi chỉ muốn nó xuất ra mà chúng đã đạt đến đáy.

Vấn đề của tôi là khi trang web tải, nó sẽ xuất thông báo này. Khi tôi cuộn xuống phía dưới, nó sẽ xuất cảnh báo.

Có cách nào để ngừng hoạt động khi trang đã tải và chỉ thực hiện khi người dùng đã cuộn trang vật lý?

Cảm ơn

Trả lời

7

Có phải vì nội dung của bạn ngắn hơn trang của bạn? Có nghĩa là khi nó tải, bạn đã ở phía dưới. Tôi đã cố gắng sao chép vấn đề của bạn ở đây http://jsfiddle.net/qESXR/2/ và nó hoạt động như bạn muốn. Tuy nhiên nếu tôi rút ngắn nội dung và chạy nội bộ trên máy tính của tôi, tôi nhận được kết quả tương tự như bạn có.
Nếu vậy, bạn có thể kiểm tra chiều cao của trang vs chiều cao của html của bạn sử dụng các

$(window).height(); // returns height of browser viewport 

$(document).height(); // returns height of HTML document 

như thế này:

$(window).scroll(function(){ 
    if($(document).height() > $(window).height()) 
    { 
     if($(window).scrollTop() == $(document).height() - $(window).height()){ 
      alert("The Bottom"); 
     } 
    } 
}); 
+0

Yeah, dữ liệu được nạp trong động. vì vậy tải ban đầu nó trống, nhưng một khi dữ liệu được chèn vào DOM nó rõ ràng sẽ mở rộng. –

+0

Âm thanh như bạn cần phải thêm cuộn động sau khi tải nội dung. Nếu vậy, đây là một tài nguyên tốt http://stackoverflow.com/questions/4306387/jquery-add-and-remove-window-scrollfunction – davehale23

+0

Cảm ơn bạn rất nhiều! điều này đã khiến tôi phát điên! –

1

Vấn đề là jQuery Mobile page widget xử lý từng "trang" như cửa sổ xa như cuộn đi. Để phát hiện khi người dùng đã cuộn đến cuối cùng, ràng buộc chức năng cuộn để $(document) thay vì:

http://jsfiddle.net/5x6T2/

$(document).scroll(function() { 
    if ($(window).scrollTop() + $(window).height() == $(document).height()) { 
     alert("Bottom reached!"); 
    } 
}); 
Các vấn đề liên quan