2009-03-09 13 views
4

Kaydettiğiniz sayfanın sonuna kadar olan metni bir div içinde değiştirmeye çalışıyorum. JQuery'nin scrollTop ve belge yüksekliğiyle tinkering oldum ama şu ana kadar istenen sonuçları veremedim.Sayfanın en altında ne kadar aşağı kaydırdığınıza göre değiştir

Sayfadaki bir öğenin konumunu nasıl alabilirim ve sonra jQuery öğelerini bu öğe konumuna kaydırdığınızda bir şeyler yapmak için nasıl alabilirim?

Yardımı çok beğenildi!

cevap

10

Stackoverflow ile ilgili benzer bir soru soruldu ve bunun nasıl gerçekleştirileceğini göstermek için küçük bir örnek çektim. Şu anda sorumu bulamıyorum, ancak here is the example. Bu örnekte, sayfadaki belirli bir öğeye gidip divun gizlendiği noktada gösterilen bir div vardır. Fikir aynı olduğu için, istediğinizi elde etmek için bunu değiştirebilirsiniz. İşte gerekenler için modifiye kodudur:

$(document).ready(function() { 
    function isScrolledIntoView(elem) { 
     var docViewTop = $(window).scrollTop(); 
     var docViewBottom = docViewTop + $(window).height(); 

     var elemTop = $(elem).offset().top; 
     var elemBottom = elemTop + $(elem).height(); 

     return ((elemBottom >= docViewTop) && (elemTop <= docViewBottom)); 
    } 

    var myelement = $('#formcontainer'); // the element to act on if viewable 
    $(window).scroll(function() { 
     if(isScrolledIntoView(myelement)) { 
      // do something when element is scrolled to and viewable 
     } else { 
      // do something when element is not viewable 
     } 
    }); 
}); 
+0

Ah, benim yapmaya çalıştığım şey bu. Teşekkürler! – Cawlin

0

İyi eski ppk from quirksmode.org nasıl bir elementin pozisyonunu bulmak için gösterebiliriz: sayfayı yeniden boyutlandırmak ve komut dosyasını çalıştırın "Bu komut gerçek pozisyonunu bulur, böylece yine, elemanın doğru yeni pozisyonuna işaret ediyor. "

İlgili konular