उत्तर
यह मेरा समाधान है कि स्वचालित रूप से ऊंचाई को समायोजित कर देता है Can you use CSS3 to transition from height:0 to the variable height of content?
'.measuringWrap' अनावश्यक है। आप '.growDiv' की स्क्रॉल हाइट प्रॉपर्टी का उपयोग कर सकते हैं http://jsfiddle.net/9ccjE/293/ – Guria
टर्नरी ऑपरेटर का उपयोग करके भी छोटा कोड: http://jsfiddle.net/9ccjE/838/ – Robbendebiene
इस, काम करना चाहिए थोड़ी देर भी प्रयास करने के लिए था ..: डी
अच्छा, लेकिन मैं जावास्क्रिप्ट में ऊंचाई को सेट करने से कैसे बचूं? अधिक कक्षा के अंदर सामग्री की लंबाई अलग-अलग होने जा रही है। – Felix
लिखे गए [यहां] (http://stackoverflow.com/a/3512194/1517380) यह संभव नहीं है (क्योंकि आप एक एनीमेशन सही चाहते थे?) [यहां वर्णित एक महंगी कामकाज] को छोड़कर [http://stackoverflow.com/questions/3149419/can-you-use-css3-to-transition-from-height0-to-the-variable-height-of-content) – r3bel
मैंने आपके jsfiddle को फिर से संपादित किया और गतिशील ऊंचाई के लिए "वर्कअराउंड" जोड़ा, लेकिन जब भी ड्रॉपडाउन ऊंचाई जावास्क्रिप्ट के साथ बदलती है तो आपको ड्रॉपडाउन की ऊंचाई प्राप्त करनी होती है: [jsfiddle] (http://jsfiddle.net/Bq6eK/217 /)। मैं आपको गारंटी नहीं देता कि यह सभी ब्राउज़रों के साथ सही तरीके से काम करता है: डी – r3bel
http://jsfiddle.net/Bq6eK/215/
मैं इस समाधान के लिए अपने कोड को संशोधित नहीं किया था, मैंने लिखा मेरी इसके बजाए मेरा समाधान वह नहीं है जो आपने पूछा था, लेकिन शायद आप मौजूदा ज्ञान के साथ इसे बना सकते हैं। मैंने कोड को भी टिप्पणी की ताकि आप जान सकें कि मैं वास्तव में परिवर्तनों के साथ क्या कर रहा हूं।
"जावास्क्रिप्ट में ऊंचाई सेट करने से बचने" के समाधान के रूप में, मैंने अभी तक 'maxHeight' को जेएस फ़ंक्शन में एक पैरामीटर बनाया है जिसे टॉगलहेइट कहा जाता है। अब इसे विस्तारित वर्ग के प्रत्येक div के लिए HTML में सेट किया जा सकता है।
मैं इसे आगे कहूंगा, मैं फ्रंट-एंड भाषाओं के साथ सुपर अनुभवी नहीं हूं, और एक समस्या है जहां मुझे एनीमेशन शुरू होने से पहले दो बार 'शो/छुपाएं' बटन पर क्लिक करना होगा। मुझे संदेह है कि यह फोकस के साथ एक मुद्दा है।
मेरे समाधान के साथ अन्य समस्या यह है कि आप वास्तव में यह पता लगा सकते हैं कि छुपा पाठ केवल div में क्लिक करके शो/छुपाएं बटन दबाए बिना क्या है, आप उस पाठ को हाइलाइट कर सकते हैं जो दिखाई नहीं दे रहा है और इसे पेस्ट कर सकता है एक दृश्य स्थान पर।
मैंने जो किया है उसके शीर्ष पर अगले चरण के लिए मेरा सुझाव यह है कि शो/छुपाएं बटन गतिशील रूप से बदल जाए। मुझे लगता है कि आप यह पता लगा सकते हैं कि जेएस के साथ टेक्स्ट दिखाने और छिपाने के बारे में आपको पहले से क्या पता चल रहा है।
मैंने दो मामूली संपादन किए: http://jsfiddle.net/Bq6eK/215/। 'onclick =" ... "'झूठी वापसी करनी चाहिए, और ऊंचाई सीधे तत्व के लिए सेट की जानी चाहिए, सीएसएस में नहीं। अन्यथा बॉक्स को खोलने के लिए इसे दो बार क्लिक करना होगा, क्योंकि 'elem.style' में केवल तत्व के लिए शैली सेट है, लेकिन प्रभावी शैलियों नहीं। – kay
धन्यवाद! मैं अब समझता हूँ। – ayang9
यहां एक समाधान है जो जेएस का उपयोग नहीं करता है। यह इसके बजाय checkboxes का उपयोग करता है।
आप अपने सीएसएस को यह जोड़कर चेकबॉक्स छिपा सकते हैं:
.container input{
display: none;
}
और फिर यह एक button की तरह लग रहे बनाने के लिए कुछ स्टाइल जोड़ें। http://jsfiddle.net/9ccjE/
मैं वैकल्पिक हल कि पोस्ट r3bel प्रयोग किया है::
समाधान पाठ की मात्रा के अनुसार ऊंचाई लागू नहीं करता है। सीएसएस में आपको चेक किए गए div की ऊंचाई तय करना होगा: '.ac-कंटेनर इनपुट: चेक ~ article.ac-small { \t ऊंचाई: 140 पीएक्स; } 'मुझे ऐसे समाधान की आवश्यकता है जो सामग्री के अनुसार ऊंचाई लागू करे। – Felix
OMG, मैं घंटों के लिए इस के लिए एक सरल समाधान खोजने के लिए करने की कोशिश की । मुझे पता था कि कोड सरल था लेकिन कोई भी मुझे जो भी चाहता था उसे प्रदान नहीं करता था। तो अंततः कुछ उदाहरण कोड पर काम करना पड़ा और कुछ आसान बना दिया कि कोई भी JQuery आवश्यक नहीं उपयोग कर सकता है। सरल जावास्क्रिप्ट और सीएसएस और एचटीएमएल। एनीमेशन काम करने के लिए आपको ऊंचाई और चौड़ाई निर्धारित करना होगा या एनीमेशन काम नहीं करेगा। मुश्किल तरीके से पता चला।
<script>
function dostuff() {
if (document.getElementById('MyBox').style.height == "0px") {
document.getElementById('MyBox').setAttribute("style", "background-color: #45CEE0; height: 200px; width: 200px; transition: all 2s ease;");
}
else {
document.getElementById('MyBox').setAttribute("style", "background-color: #45CEE0; height: 0px; width: 0px; transition: all 2s ease;");
}
}
</script>
<div id="MyBox" style="height: 0px; width: 0px;">
</div>
<input type="button" id="buttontest" onclick="dostuff()" value="Click Me">
- 1. CSS3 संक्रमण
- 2. CSS3 संक्रमण एनीमेशन
- 3. CSS3 एक तरफा संक्रमण?
- 4. वेबकिट में फ़ॉन्ट संक्रमण गड़बड़ाना CSS3 संक्रमण?
- 5. CSS3 - डीओएम हटाने पर संक्रमण
- 6. पृष्ठभूमि छवि पर CSS3 संक्रमण
- 7. CSS3iz संक्रमण का अस्तित्व नहीं है अगर CSS3 संक्रमण
- 8. CSS3, वेबकिट संक्रमण आदेश? संक्रमण के लिए कतार कैसे करें?
- 9. CSS3 के रूपांतरण और संक्रमण (वेबकिट)
- 10. CSS3 संक्रमण के साथ विलंब माउसआउट/होवर
- 11. लूप में CSS3 संक्रमण कैसे खेलें?
- 12. आईई में CSS3 संक्रमण की नकल करें?
- 13. CSS3 संक्रमण प्रदर्शन के लिए विचार
- 14. CSS3 संक्रमण - एनीमेशन "एंकर पॉइंट" बदलें?
- 15. jQuery के साथ CSS3 संक्रमण घटना श्रोता
- 16. CSS3 संक्रमण: क्या "संक्रमण: सब" धीमा "संक्रमण: एक्स" से धीमा है?
- 17. प्रगति सलाखों पर बूटस्ट्रैप के CSS3 संक्रमण को बंद करें
- 18. तेजी से क्या है? CSS3 संक्रमण या jQuery एनिमेशन?
- 19. CSS3 संक्रमण अन्य तत्वों को प्रभावित नहीं करने के लिए?
- 20. गतिशील रूप से बनाए गए तत्वों के लिए CSS3 संक्रमण
- 21. क्या आरजीबीए पृष्ठभूमि संपत्ति CSS3 संक्रमण द्वारा समर्थित नहीं है?
- 22. jQuery मोबाइल CSS3 लाइब्रेरी के बिना jQuery मोबाइल CSS3 पृष्ठ संक्रमण
- 23. CSS3 टच इवेंट
- 24. संक्रमण प्रभाव
- 25. css3 स्लाइडअप स्लाइड नीचे
- 26. CSS3 के संक्रमण: * में * और के लिए अलग संक्रमण * बाहर * (या संक्रमित किया है राज्य से लौटने)
- 27. CSS3
- 28. CSS3
- 29. CSS3
- 30. CSS3
एक और अधिक उचित JSFiddle होगा: http://jsfiddle.net/Bq6eK/1/ – TheZ
धन्यवाद, मैं उचित विंडो में js चिपकाने की कोशिश की, लेकिन मैं यह काम करने के लिए नहीं मिला। – Felix