2012-02-05 8 views
6

कोड: jsfiddle Demoएक्शन स्लाइडर डाउन या स्लाइडर अप के बाद div ऊंचाई कैसे प्राप्त करें? यहाँ में

मैं चाहता हूँ div#content ऊंचाई प्राप्त करने के लिए जब यह slider down/up की कार्रवाई खत्म।

उदाहरण के लिए, डेमो में, मैं कुछ शब्द टाइप करें, वे बनाने के div ऊंचाई 36px है, इसलिए यदि मैं slider down क्लिक करें, मैं मूल्य 36 पाने की जरूरत है, और अगर मैं slider up क्लिक करें, मैं मूल्य 0 लौटने की जरूरत है। धन्यवाद।

उत्तर

4

तो है, लेकिन यह slideDown या slideUp की कॉलबैक फ़ंक्शन में, के लिए उदाहरण की तरह:

$('#content').slideDown('slow', function(){ 
     var height = $(this).height(); 
    }); 

Demo

सूचना है कि यह आप दो मामलों में एक ही ऊंचाई 38 दे देंगे slideDown और slideUp, दोनों कार्य div की ऊंचाई संपत्ति को परिवर्तित न करें, लेकिन केवल display proprtynone से block से, इसलिए div #content की ऊंचाई संपत्ति पहले की ऊंचाई के रूप में नीचे स्लाइड करने के बाद समान है।

+0

हे, मदद के लिए धन्यवाद, लेकिन 'स्लाइडअप' काम नहीं करता है, मान शून्य होना चाहिए, लेकिन अब भी अभी भी '36' – Giberno

+0

@Giberno, यह मेरे उत्तर में पोस्ट किए गए उदाहरण पृष्ठ में काम कर रहा है। –

1

मुझे पता है कि यह एक पुराना धागा है, लेकिन जब मैंने इसकी खोज की तो यह पहली बार आया जब मुझे लगता है कि अन्य लोग यहां भी उतरेंगे।

कॉलबैक का उपयोग करना है अगर मुझे एनीमेशन पूर्ण होने के बाद मूल्य की आवश्यकता होती है, लेकिन मेरे उपयोग के मामले में, मुझे एनीमेशन से पहले ऊंचाई की आवश्यकता होती है ताकि मैं एक और तत्व को उसी ऊंचाई तक बढ़ा सकूं। इसके लिए, मैंने निम्नलिखित किया:

//Get height (start and end) 
var startHeight = $el.height(); 
$el.show(); 
var endHeight = $el.height(); 
$el.hide(); 

/**Do something useful with the height here**/ 
$el2.animate({height: endHeight}); 

//Slide the element down 
$el.slideDown(); 

क्योंकि जावास्क्रिप्ट एकल धागा है, शो/छुपा कभी प्रस्तुत नहीं किया जाता है।

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