2011-01-11 19 views
7

katının altında/altında şimdi görüntülenebilen öğelerin/pencerenin altında görünüp görünmeyeceğini belirleme, bir öğenin katlamanın altında olup olmadığını belirleme yönteminin en iyi yolu nedir? kullanıcı?jquery - jquery ile

Teşekkür

cevap

16

Ben bunu görüntü dışında kaydırıldığını olsun veya olmasın atıfta varsayılmaktadır.

Eğer öyleyse, şunu deneyin:

if($(window).scrollTop() + $(window).height() > $('#my_el').offset().top) { 
    // element is in view 
} 

Örnek:http://jsfiddle.net/8x4Zd/

(. Hedeflenen eleman görünümünde ise Ardından sınamak aşağı doğru ilerleyin ve tekrar etmek sonuç panelini tıklayın.)

öğesinin tamamını öğesinin göründüğünden emin olmak istiyorsanız,numaralı telefon numarasını ekleyin. 210 denklemin içine.

Örnek: Çok serinhttp://jsfiddle.net/8x4Zd/1/

var win = $(window); 
var el = $('#my_el'); 
var winPos = win.scrollTop() + win.height(); 
var elPos = el.offset().top + el.height(); 

if(winPos > elPos) { 
    // element is in view 
} 
+0

. Bunu denedim. Büyük sorun şu ki, öğe görünmediğinde ".addClass ('fixed');” hangi konum sabit, alt: 0. Daha sonra yukarıdaki func öğesini öğenin göründüğünü söyler. Sonuç olarak ortaya çıkan şey, öğenin içinde ve dışında yanıp sönmesidir. Düşüncesi olan var mı? – AnApprentice

+0

yeni facebook mesajları, bu gönderiyi yorum kutusuyla yapar. Şunu gördün mü? – AnApprentice

+0

@AnApprentice: Bunu görmedim (bir facebook hesabım yok.) Hangi olay 'addClass()' yapan kodu tetikler? Belki de sınaya ekleyebilirsiniz: '&&! El.hasClass ('fixed')'. – user113716