jQuery

2011-10-15 6 views
65

का उपयोग कर किसी तत्व के पीएक्स में शीर्ष से ऊर्ध्वाधर दूरी को कैसे ढूंढें I पृष्ठ के शीर्ष से लंबवत दूरी कैसे प्राप्त करें जहां जावास्क्रिप्ट/jQuery का उपयोग करते हुए डीओएम में तत्व मौजूद है?jQuery

मैं यहाँ की तरह

<ul> 
    <li>one</li> 
    <li>one</li> 
    <li>one</li> 
    <li>one</li> 
    <li class="test">one</li> 
    .... 
    .... 
    .... 
    <li>one</li> 
</ul> 

उदाहरण के लिए कुछ किया है, मैं li#test तत्व को पृष्ठ के ऊपर से खड़ी दूरी लगाना चाहते हैं।

मैंने .scrollTop() की कोशिश की लेकिन यह हमेशा 0 के रूप में आता है!

+1

क्या यह आपकी तलाश है? var स्थिति = $ ('li # test')। स्थिति(); अलर्ट (position.top); –

उत्तर

143

उपयोग .offset() एक तत्व और दस्तावेज़ के शीर्ष के बीच की दूरी पाने के लिए:

$("li.test").offset().top 
89

रोब डब्ल्यू के जवाब सही है - यह है कि आप दे देंगे पूरे पृष्ठ के ऊपर से ऑफसेट।

आप देखा जा सकता है स्क्रीन के ऊपर से ऑफसेट प्राप्त करना चाहते हैं, तो आप इस करना चाहिए:

var viewableOffset = $("#li.test").offset().top - $(window).scrollTop(); 

आशा है कि मदद करता है!

+1

एसओ में आपका स्वागत है :) –

+2

हाहा धन्यवाद। एसओ हमेशा Google खोजों पर उपयोगी हिट रहा है, और मैं ऊब गया और लगा कि मैं कुछ सवालों का जवाब दूंगा। एसओ की बहन साइट, सर्वरफॉल्ट पर जवाब देने के दौरान मैं ज्यादातर यहां घूम रहा हूं। मैं एक लंबे समय तक प्रोग्रामर और नौसिखिया व्यवस्थापक हूँ। :) – thexfactor

+1

यदि आप स्थिति को नियंत्रित कर रहे हैं तो यह कोड का एक उत्कृष्ट बिट है: निश्चित तत्व! ऑफसेट के सापेक्ष – Starkers

3

जहां तक ​​मुझे पता है कि .offset() वर्तमान स्क्रॉल स्थिति और दस्तावेज़ के शीर्ष के बीच की दूरी प्राप्त करें। इसे और सटीक बनाने के लिए यह करने के लिए पृष्ठ पर $("li.test").position().top

+0

माता-पिता, जो मूल div नहीं हो सकता है – aaron

0

उपयोग $ (तत्व) .offset() ऊपर और मौजूदा तय तत्वों की ऊंचाई जोड़ें:।

आप इस का उपयोग करने की आवश्यकता है।