जवाबों:
.offset()
एक साधारण वस्तु के रूप में एक तत्व की ऑफसेट स्थिति लौटाएगा, जैसे:
var position = $(element).offset(); // position = { left: 42, top: 567 }
आप एक ही स्थान पर अन्य तत्वों की स्थिति के लिए इस वापसी मूल्य का उपयोग कर सकते हैं:
$(anotherElement).css(position)
offset()
उचित शीर्ष समन्वय वापस नहीं करता है। यह दस्तावेज़ में तत्व के शीर्ष समन्वय की तुलना में लगभग 300 पिक्सेल अधिक देता है। क्यों??
ध्यान दें कि $(element).offset()
आपको दस्तावेज़ के सापेक्ष एक तत्व की स्थिति बताती है । यह ज्यादातर परिस्थितियों में महान काम करता है, लेकिन आप के मामले में position:fixed
अप्रत्याशित परिणाम प्राप्त कर सकते हैं।
यदि आपका दस्तावेज़ व्यूपोर्ट से अधिक लंबा है और आपने दस्तावेज़ के नीचे की ओर लंबवत स्क्रॉल किया है, तो आपके position:fixed
तत्व का offset()
मूल्य आपके द्वारा स्क्रॉल की गई राशि से अपेक्षित मूल्य से अधिक होगा ।
यदि आप किसी स्थिति पर दस्तावेज़ के बजाय व्यूपोर्ट (विंडो) के सापेक्ष मान की तलाश कर रहे हैं : निश्चित तत्व, तो आप दस्तावेज़ के scrollTop()
मूल्य को निर्धारित तत्व के offset().top
मूल्य से घटा सकते हैं । उदाहरण:$("#el").offset().top - $(document).scrollTop()
यदि position:fixed
तत्व का ऑफसेट अभिभावक दस्तावेज़ है , तो आप parseInt($.css('top'))
इसके बजाय पढ़ना चाहते हैं ।
$(document).scrollTop()