2011-05-26 15 views
6

मैं गतिशील सामग्री के साथ एक अनियंत्रित सूची भर रहा हूं और सूची की ऊंचाई सामग्री को फ़िर कर देगी, क्या किसी को पता है कि मैं अनियंत्रित सूची में पहले 3 ली टैग की ऊंचाई कैसे प्राप्त कर सकता हूं?jQuery पहले 3 ली टैग की ऊंचाई प्राप्त करें

उत्पादित गतिशील सामग्री नीचे की तरह कुछ हो सकती है, इसलिए मैं केवल पहले 3 ली टैग की ऊंचाई की गणना करने में सक्षम होना चाहता हूं।

<ul> 
<li>23 Feb 2011<br />Synergy Launch new website...<br />Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc gravida lacus a ligula dictum dignissim....</li> 
<li>23 Feb 2011<br />Expat children "receive improv...<br />Expat children enjoy a better standard of education whilst living abroad compared to their home country according to the HSBC Offshore Offspring Report,...</li> 
<li>25 Feb 2011<br />London Market favours Landlord...<br />The lettings market has swung dramatically in favour of landlords as an average six applicants chase every available property in London. This is a dramatic rise...</li> 
<li>23 Feb 2011<br />Synergy Launch new website...<br />Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc gravida lacus a ligula dictum dignissim....</li> 
</ul> 

किसी भी मदद के लिए धन्यवाद जे

उत्तर

18

यह आपको अपनी सभी ऊंचाई प्रदान करता है ... लेकिन आप आसानी से केवल उस कोड को डाल सकते हैं जो आप प्रत्येक सूची आइटम पर कुछ करने के लिए फ़ंक्शन के अंदर चाहते हैं।

var sum = 0; 

$('li:lt(3)').each(function() { 
    sum += $(this).height(); 
}); 

http://jsfiddle.net/rnpAE/1/

संपादित करें: छोटा $('li').nextUntil(':eq(2)')$('li:lt(3)') सबसे पहले करने के लिए

+0

धन्यवाद, यह वही था जो मैं ढूंढ रहा था। – JBoom

4

आप गणना करने के लिए उन्हें व्यक्तिगत रूप eq चयनकर्ता

http://api.jquery.com/eq-selector/

var liHeight = $('li:eq(0)').outerHeight(); // Obtains height of first li 
+2

'eq के लिए सबसे अच्छा काम करता 'शून्य आधारित है, इसलिए आपका जवाब में कोड वास्तव में * दूसरी * सूची आइटम की ऊंचाई प्राप्त करता है। –

+0

अच्छी पकड़। मेरी गलती। संपादन में फिक्स्ड। – Trevor

0
$('li').height(); // First 
$('li').next().height(); // Second 
$('li').next().next().height(); // Third 

का उपयोग या outerHeight उपयोग करें यदि आप चाहते हैं चाहते हैं पैडिंग/मार्जिन शामिल करने के लिए।

1

मैं प्रत्येक आइटम के लिए फिर एक वर सेट शून्य से 1 आइटम होने के लिए ...

var liTotalHeight = -24; 

,, मैं ली की ऊंचाई जोड़ता हूं ..

liTotalHeight = liTotalHeight + $(this).outerHeight(); 

तब मैं उल के scrollTop ...

$(this).parent().scrollTop(liTotalHeight); 

एक छोटी सी hacky सेट है, लेकिन() मेरे

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