2012-10-01 10 views
5

के बीच दूरी कैसे प्राप्त करें तो मेरे पास एक div के अंदर एक div है - मैं उनके बीच दूरी कैसे प्राप्त कर सकता हूं?दो divs

buttons

मैं $('#child').parentsUntil($('#parent')).andSelf() की तरह कुछ करने की कोशिश की - लेकिन यह एक वस्तु, नहीं एक दूरी देता है।

पीएस मुझे अन्य बटनों को धक्का देने की ज़रूरत है।

+0

'.स्थिति()' काम नहीं करता है? –

+0

'$ (" # child ") के साथ परीक्षण करने का प्रयास करें। स्थिति()। बाएं 'और यदि आवश्यक हो तो' $ ("# parent") घटाएं। स्थिति()। इस मान से बाएं। – VisioN

उत्तर

4

http://api.jquery.com/position/

बाईं दूरी आप उपयोग कर सकते हैं पाने के लिए:

var distLeft = $('#child').position().left; 

कि ऑफसेट माता पिता

यदि आप में रुचि रखते हैं करने के लिए px सापेक्ष में दूरी वापस आ जाएगी तत्व का पृष्ठ ऑफसेट से अधिक:

var offsLeft = $('#child').offset().left; 

http://api.jquery.com/offset/

0

क्या आपने कुछ ऐसा करने की कोशिश की?

$('innerDiv').position().left; 
2

आप offset

var childOffset = $('#child').offset(), parentOffset = $('#child').parentsUntil($('#parent')).offset(); 
    var leftDistance =childOffset.left - parentOffset.left; 
    var topDistance = childOffset.top- parentOffset.top; 
+2

'ऑफसेट()' आईएमएचओ सबसे अच्छा समाधान है, क्योंकि यह दो पूरी तरह से असंबंधित वस्तुओं के बीच की दूरी प्राप्त करने में भी सक्षम है: 'फ़ंक्शन दूरी (el1, el2) {var o1 = $ (el1) .offset(); var o2 = $ (el2) .offset(); वापसी {बाएं: o2.left - o1.left, शीर्ष: o2.top - o1.top}; } ' – Mark