2011-11-06 11 views
23

कैसे ढूंढें मैं अपने एक्स केंद्र समन्वय से शुरू होने वाले तत्व ऑफ़सेट को पुनर्प्राप्त करना चाहता हूं।तत्व के एक्स केंद्र निर्देशांक और संबंधित विंडो ऑफसेट

मैं इसे कैसे कर सकता हूं?

असल में मैं खिड़की एक तत्व की भरपाई पा सकते हैं, लेकिन यह इस प्रकार का तत्व की सीमा से निर्देशांक पुन: प्राप्त करता:

var _position = $(this).offset(); 
+0

मुझे यकीन नहीं है कि आप क्या प्राप्त करने की कोशिश कर रहे हैं, अपने तत्व के बीच की स्थिति सबसे अधिक बाएं शीर्ष के बजाय? इसके अलावा, $ स्थिति सही सिंटैक्स नहीं है, यदि ऐसा है तो एक्स और ऊंचाई/2 को ऊंचाई पर चौड़ाई/2 जोड़ें और आप अच्छे हैं। –

+0

@ShaiMishali यह सही वाक्यविन्यास है। यह पूरी तरह से काम करता है। यह केवल जावास्क्रिप्ट में चर जैसे नामों का सम्मेलन नहीं है। –

उत्तर

51

आप offset() उपयोग करने के लिए ऊपर और बाईं स्थिति प्राप्त करने के लिए है, तो जोड़ने height() का आधा और width() उनके लिए मूल्य। यह केंद्र निर्देशांक देता है।

var $this = $(this); 
var offset = $this.offset(); 
var width = $this.width(); 
var height = $this.height(); 

var centerX = offset.left + width/2; 
var centerY = offset.top + height/2; 
+0

क्या आप जानते हैं कि चौड़ाई() पैडिंग सीएसएस नियम का ख्याल रखती है? – sbaaaang

+6

'पैडिंग' संपत्ति शामिल नहीं है। यदि आप पैडिंग भी शामिल करना चाहते हैं, तो '.outerWidth() 'का उपयोग करें। –

3

यह अब भी देशी जावास्क्रिप्ट के माध्यम से किया जा सकता है:

let centerX = targetNode.offsetLeft + targetNode.offsetWidth/2; 
let centerY = targetNode.offsetTop + targetNode.offsetHeight/2; 

जहां targetNode तत्व आप अपने केंद्र निर्देशांक प्राप्त करना चाहते है।

संबंधित मुद्दे