2012-05-12 19 views
5

एक div मैं top:-26px; का उपयोग कर सीएसएस में ऊंचाई निर्धारित करता हूं। मेरे पास अन्य divs अन्य स्थान हैं जहां मैं उस div के साथ संरेखित करना चाहता हूं। मुझे jquery लेखन .css('top') में नोटिस मुझे मेरा सीएसएस मिलता है और div का y coord नहीं। मैं जावास्क्रिप्ट का उपयोग कर पूर्ण एक्स, वाई स्थिति कैसे प्राप्त करूं?जावास्क्रिप्ट में div स्थिति (शीर्ष) प्राप्त करें?

+0

कृपया अपने पहले div css को उत्तर देने के लिए दूसरों की सहायता के लिए लिखें। –

उत्तर

11

आप उपयोग कर सकते हैं jQuery(element).offset().top

आशा है कि यह मदद करता है।

+2

JQuery के बारे में कुछ भी उल्लेख नहीं किया गया है, और आपका कोड 'jQuery (तत्व) .offset()। शीर्ष' के साथ पुनः लिखा जाना चाहिए। – VisioN

+2

@ विसियोएन: आप किस बारे में बात कर रहे हैं मैंने jquery का जिक्र किया है। खैर, तरह (.css फ़ंक्शन सीधे जेएस नहीं है) +0। यह काम नहीं करता है और इसका 'ऑफसेट()। शीर्ष' (मुझे दोनों को देखना था) –

+0

शीर्ष मुझे प्राप्त करता है -18 :(। मुझे पूर्ण स्थिति की आवश्यकता है और यह स्थिति सापेक्ष है। –

0
मानक जावास्क्रिप्ट के साथ

:

var elem=document.getElementById("elemID"); 
var top=elem.offsetTop; 
var left=elem.offsetLeft; 
jQuery के साथ

:

var top=$("#elemID").offset().top; 
var left=$("#elemID").offset().left; 
+2

ऑफसेट टॉप ऑफसेट के शीर्ष के सापेक्ष मौजूदा तत्व की दूरी देता है। पृष्ठ नहीं। – rlemon

+0

@rlemon इस प्रकार मेरी समस्या –

3

इस कोड का प्रयास करें:

function getElementPosition(id) { 
    var offsetTrail = document.getElementById(id); 
    var offsetLeft = 0; 
    var offsetTop = 0; 
    while (offsetTrail) { 
     offsetLeft += offsetTrail.offsetLeft; 
     offsetTop += offsetTrail.offsetTop; 
     offsetTrail = offsetTrail.offsetParent; 
    } 

    return { 
     left: offsetLeft, 
     top: offsetTop 
    }; 
}​ 

यह left और top चर के साथ एक वस्तु वापस आ जाएगी।

आप JQuery offset() विधि का प्रयास का उपयोग करते हैं:

var pos = $("#element").offset(); 
console.log(pos.left) 
console.log(pos.top) 
+0

दूसरों के साथ एक ही समस्या सही है। शीर्ष मुझे -18 :(प्राप्त करता है। मुझे पूर्ण स्थिति की आवश्यकता है और यह स्थिति सापेक्ष है। –

+1

@ acidzombie24 क्या आप वाकई पूर्ण और रिश्तेदार पदों को मिश्रित नहीं करते हैं? ये फ़ंक्शंस पृष्ठ के सापेक्ष तत्व की स्थिति लौटते हैं। – VisioN

+0

@ VisioN मैंने पहले से ही नोट किया है कि ऑफ़सेट टॉप उसके सापेक्ष है ... प्रतीक्षा करें और शायद कुछ सीएसएस या एचटीएमएल स्थिति पर कुछ प्रकाश डालेगा। – rlemon

17

मैं तुम्हें वेनिला समाधान दे देंगे .. शिकायत नहीं है .. अपने तत्व एक करने के लिए [0] और यह भी निश्चित होती है जोड़ने! : पी उम्मीद है कि यह मदद करता है।

function getOffset(el) { 
    var _x = 0; 
    var _y = 0; 
    while(el && !isNaN(el.offsetLeft) && !isNaN(el.offsetTop)) { 
     _x += el.offsetLeft - el.scrollLeft; 
     _y += el.offsetTop - el.scrollTop; 
     el = el.offsetParent; 
    } 
    return { top: _y, left: _x }; 
} 
var x = getOffset(document.getElementById('yourElId')).left; 
+0

शीर्ष मुझे प्राप्त करता है -18 :(। मुझे पूर्ण स्थिति की आवश्यकता है और यह स्थिति सापेक्ष है। –

+1

मेरे लिए काम करता है। http://jsfiddle.net/rlemon/m7A6T/ – rlemon

+0

शायद आप हमें अपना एचटीएमएल और सीएसएस दिखाने का प्रयास कर सकते हैं .... फिर थोड़ा और सहायक हो सकता है। – rlemon

0

jQuery का उपयोग करें (तत्व) .offset()

आशा है कि यह मदद करता है।

उदाहरण

var elementPosition = jQuery(element).offset(); 
var elementTopPositon = elementPosition.top; 
3

क्रॉस ब्राउज़र सुरक्षित के लिए आईई 8 के लिए नीचे, संभावित रूप से 7 या 6:

function offset(el) { 
    var rect = el.getBoundingClientRect(), 
    scrollLeft = window.pageXOffset || document.documentElement.scrollLeft, 
    scrollTop = window.pageYOffset || document.documentElement.scrollTop; 
    return { top: rect.top + scrollTop, left: rect.left + scrollLeft } 
} 
var offsetEl = offset(document.getElementById('some_id')); 
console.log(offsetEl.left, offsetEl.top); 

लघु और तेजी से और कोई jQuery की जरूरत है।

+0

साइमन, जहां एक फ़ंक्शन मिलता है BoundingClientRect? आप दूसरी वेबसाइट कॉपी करते हैं? wtf lol – KingRider

+0

कोई विचार नहीं कि आपकी समस्या क्या है और परवाह नहीं है। यहां इस विधि का संदर्भ दिया गया है: https://developer.mozilla.org/en/docs/Web/API/Element/getBoundingClientRect –

+0

hum .. मोज़िला? यह नहीं पता, आईई 8 के बारे में आपकी पोस्ट ... बहुत उलझन में .... परीक्षण http://jsfiddle.net/Darker/sj6tnfce/2/ में – KingRider

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