2012-02-15 22 views
7

Aşağıdaki kodla, kullanıcının sayfanın altına kaydırdığında bulmaya çalışıyorum. JQuery mobilde.JQuery Mobile User aşağı kaydır

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

Şimdilik, yalnızca aşağıya ulaştıklarını belirtmek istiyorum.

Sorunum, site yüklendiğinde, bu iletiyi verecektir. Aşağıya doğru kaydırdığımda, uyarı verilecektir.

Sayfa yüklendiğinde bunu yapmanın bir yolu var mı ve yalnızca kullanıcı sayfayı fiziksel olarak kaydırdığında bunu yapmanın bir yolu var mı? İçeriğiniz sayfadan daha kısa olduğu için

Teşekkür

cevap

7

Öyle mi? Anlamı yüklendiğinde, zaten en alttasınız. Sorununuzu burada http://jsfiddle.net/qESXR/2/ çoğaltmaya çalıştım ve istediğiniz gibi davranıyor. Ancak içeriği kısaltır ve makinemde yerel olarak çalıştırırsam, aynı sonucu elde ederim. Eğer öyleyse
, böyle bu

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

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

kullanarak html yüksekliği vs sayfanın yüksekliği için kontrol edebilirsiniz:

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

Evet, veri dinamik yüklenir. Böylece ilk yük boştur, ancak veriler DOM'a eklendiğinde, açıkça genişler. –

+0

İçeriği yükledikten sonra kaydırma dinamik olarak eklemeniz gerektiği gibi görünüyor. Eğer öyleyse burada iyi bir kaynak http://stackoverflow.com/questions/4306387/jquery-add-and-remove-window-scrollfunction – davehale23

+0

Çok teşekkür ederim! Bu beni deli ediyor! –

1

sorun olduğunu jQuery Mobile page widget davranır her "sayfa" Pencereyi kaydırma kadar uzağa gider. kullanıcı ucuna kayması durumunda, bunu algılamak amacıyla yerine $(document) için kaydırma fonksiyonu bağlamak:

http://jsfiddle.net/5x6T2/

$(document).scroll(function() { 
    if ($(window).scrollTop() + $(window).height() == $(document).height()) { 
     alert("Bottom reached!"); 
    } 
});