उदाहरण
इसलिए, अगर हमारे पास "बाल-तत्व" की आईडी वाला बच्चा तत्व था और हम मूल तत्व के सापेक्ष इसे बाएं/शीर्ष स्थिति प्राप्त करना चाहते थे, तो एक div जिसमें "आइटम" - माता-पिता ", हम इस कोड का उपयोग करेंगे।
var position = $("#child-element").offsetRelative("div.item-parent");
alert('left: '+position.left+', top: '+position.top);
प्लगइन अंत में, वास्तविक प्लगइन के लिए (कुछ नोट expalaining क्या हो रहा है के साथ):
// offsetRelative (or, if you prefer, positionRelative)
(function($){
$.fn.offsetRelative = function(top){
var $this = $(this);
var $parent = $this.offsetParent();
var offset = $this.position();
if(!top) return offset; // Didn't pass a 'top' element
else if($parent.get(0).tagName == "BODY") return offset; // Reached top of document
else if($(top,$parent).length) return offset; // Parent element contains the 'top' element we want the offset to be relative to
else if($parent[0] == $(top)[0]) return offset; // Reached the 'top' element we want the offset to be relative to
else { // Get parent's relative offset
var parent_offset = $parent.offsetRelative(top);
offset.top += parent_offset.top;
offset.left += parent_offset.left;
return offset;
}
};
$.fn.positionRelative = function(top){
return $(this).offsetRelative(top);
};
}(jQuery));
नोट: आप माउस क्लिक या माउसओवर पर इस का उपयोग कर सकते हैं घटना
$(this).offsetRelative("div.item-parent");
स्रोत
2017-06-12 07:34:29
तत्व की स्थिति 'स्थिर' माता-पिता को ऑफ़सेट नहीं करती है। – Esailija
सही; मेरी गलती – jackwanders
ब्रेसिज़ के अंदर अर्धविराम का उपयोग न करें, कॉमा –