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:fixedbeklenmedik 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()