2013-06-20 6 views
24

के सापेक्ष शीर्ष ऑफ़सेट प्राप्त करें, आप किसी विशिष्ट कंटेनर से संबंधित ऑफ़सेट स्थिति कैसे प्राप्त करेंगे?jQuery jQuery के साथ एक विशिष्ट div

<body style="padding:20px"> 
<div id="top-container" style="margin-top:20px"> 
    <div id="one-level-container" style="margin-top:70px"> 
     <div id="two-level-container" style="margin-top:120px"> 
      <div id="ELEMENT" style="margin-top:10px"> 
      </div> 
     </div> 
    </div> 
</div> 
</body> 

(गद्दी और मार्जिन टॉप के उदाहरण के लिए बस नहीं है।)

आप के लिए #ELEMENT की स्थिति शीर्ष कैसे की जाँच करेगा:

उदाहरण के लिए, आप इस राशि # शीर्ष कंटेनर?

मैंने jQuery के ऑफ़सेट और स्थिति का उपयोग करने का प्रयास किया है, लेकिन ऐसा लगता है कि मुझे सही ऑफ़सेट नहीं मिल रहा है।

उत्तर

42

उपयोग $.offset(), उदाहरण के

alert($("#ELEMENT").offset().top - $("#top-container").offset().top)
body { 
 
    background: blue 
 
} 
 

 
div { 
 
    padding: 20px 
 
} 
 

 
#top-container { 
 
    background: green 
 
} 
 

 
#one-level-container { 
 
    background: red 
 
} 
 

 
#two-level-container { 
 
    background: black 
 
} 
 

 
#ELEMENT { 
 
    background: orange 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> 
 
<body style="padding:20px"> 
 
<div id="top-container" style="margin-top:20px"> 
 
    <div id="one-level-container" style="margin-top:70px"> 
 
     <div id="two-level-container" style="margin-top:120px"> 
 
      <div id="ELEMENT" style="margin-top:10px"> 
 
      </div> 
 
     </div> 
 
    </div> 
 
</div> 
 
</body>

+1

के लिए एकदम सही काम करता है, धन्यवाद! :) –

+0

उत्कृष्ट विचार! वील – Polaris

+0

किया यह मेरे लिए काम करता है ... धन्यवाद – Rajaraman

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