का उपयोग कर 2 डीओएम तत्वों के बीच सापेक्ष स्थिति प्राप्त करें मैंने ड्रैग करने योग्य तत्वों का एक सेट लागू किया है जिसे jQuery का उपयोग करके कुछ कंटेनर में छोड़ा जा सकता है। मुझे जो चाहिए वह एक एनीमेशन है जो किसी तत्व को उपयोगकर्ता इंटरैक्शन के बिना एक विशिष्ट कंटेनर में ले जाता है। समस्या यह है कि तत्व और ड्रॉप कंटेनर डीओएम के विभिन्न हिस्सों में हैं और ज्यादातर फ्लोट का उपयोग करके तैनात हैं।जावास्क्रिप्ट
मुझे केवल 2 कोड फ़्लोटिंग डीओएम तत्वों के बीच पूर्ण स्थिति अंतर प्राप्त करने के लिए कुछ कोड चाहिए, जो jQuery का उपयोग कर प्राथमिक रूप से उपयोग करते हैं। मुझे मिली एकमात्र चीज कुछ हैक्स ऊपर डीओएम को पार्स कर रही थी लेकिन हमेशा बहुत ब्राउज़र-विशिष्ट (उदाहरण के लिए "यह फ़ायरफ़ॉक्स या आईई या जो कुछ भी अच्छी तरह से काम नहीं करती है")।
var distance = getDistance(element1, element2);
या jQuery अंकन में:
बेस्ट कुछ इस तरह होगा
var distance = $(element1).distanceTo($(element2));
यह काम नहीं करेगा क्योंकि .offset() केवल मूल तत्व को सापेक्ष स्थिति देता है। चूंकि मूल तत्व समान नहीं हैं क्योंकि मानों का उपयोग नहीं किया जा सकता है। विकर्ण दूरी भाग महत्वपूर्ण बीटीडब्ल्यू नहीं है, मुझे बाएं और शीर्ष मूल्यों की उम्मीद थी ;-) – davil
ठीक है, मैं आपसे सहमत नहीं हूं। JQuery संदर्भ (http://docs.jquery.com/CSS) के अनुसार, ऑफ़सेट "व्यूपोर्ट के सापेक्ष पहले मिलान किए गए तत्व का वर्तमान ऑफ़सेट" प्राप्त करता है। व्यूपोर्ट कुंजी शब्द है, यह ऑफ़सेट नहीं है माता-पिता –
ऑफसेट पृष्ठ पर उदाहरण काफी भ्रामक है। उदाहरण iframes में लोड किए गए हैं जो इसे स्थिति की तरह दिखता है केवल माता-पिता के सापेक्ष है, जबकि यह वास्तव में दस्तावेज़ के सापेक्ष है (इस मामले में, iframe) – nickf