Yanıtlar:
.offset()
bir öğenin ofset konumunu basit bir nesne olarak döndürecektir, örneğin:
var position = $(element).offset(); // position = { left: 42, top: 567 }
Bu dönüş değerini, diğer öğeleri aynı noktada konumlandırmak için kullanabilirsiniz:
$(anotherElement).css(position)
offset()
uygun üst koordinatı döndürmüyor. Bunun yerine belgedeki öğenin üst koordinatından yaklaşık 300 piksel daha fazla döndürür. Neden??
$(element).offset()
Bir öğenin belgeye göre konumunu belirten not edin . Bu çoğu durumda harika çalışır, ancak durumunda position:fixed
beklenmedik sonuçlar alabilirsiniz.
Belgeniz ise görüntü alanından daha uzun ve dokümanın alt kısmına doğru dikey olarak kaydırdığınız, sonra position:fixed
öğenin offset()
değeri daha büyük olacaktır Eğer kaydırdığınız miktarına göre beklenen değerin.
Pozisyon: sabit öğedeki belge yerine görünüm penceresine (pencere) göre bir değer arıyorsanız , belgenin scrollTop()
değerini sabit öğenin değerinden çıkarabilirsiniz offset().top
. Misal:$("#el").offset().top - $(document).scrollTop()
Eğer position:fixed
öğenin ofset üstüdür belge , okumak istediğiniz parseInt($.css('top'))
yerine.
$(document).scrollTop()