एंड्रॉयड में, साझा तत्व संक्रमण 2 में ठीक उसी दोनों पृष्ठों में मौजूदा एक साथ लिंक करने के लिए जब पृष्ठों संक्रमण, बस gif में एल्बम कला नीचे दिखाया गया है जैसे तत्वों की अनुमति देता है मुझे आश्चर्य है कि कक्षाओं के बीच ReactJS के साथ एक ही तरह के संक्रमण को हासिल करना संभव है। यदि हां, तो कोई उदाहरण? यदि नहीं, jQuery के साथ क्या?साझा ReactJS तत्व संक्रमण का उपयोग
उत्तर
आप इस संक्रमण को लगभग पूरी तरह से सीएसएस transform
संपत्ति के साथ कर सकते हैं। प्रतिक्रिया जेएस डोम में हेरफेर करने के बारे में सब कुछ है, लेकिन आपको इसे और अधिक करने की आवश्यकता नहीं है।
एनीमेशन:
- छोटे पैनल के पाठ सामग्री छिपा देता है।
- पूर्ण स्क्रीन भरने के लिए चित्र और टेक्स्ट पृष्ठभूमि को स्केल करता है।
- नया पाठ सामग्री में रखता है।
उन 1 और 3 में से प्रतिक्रिया के साथ आसान है, इसलिए आपको केवल संक्रमण एनीमेशन की आवश्यकता है। - इन गुणों से संभाला जा सकता है
body {
background-color: #ccc;
}
.card {
width: 150px;
padding: 0;
margin: 0;
background-color: #fff;
position: absolute;
top: 0: left: 0;
z-index: 1;
/* Transition properties mean changes to them are animated */
transition-property: transform;
transition-timing-function: ease-in-out;
transition-duration: 500ms;
transform-origin: top left;
}
.card>img {
width: 150px;
height: 150px;
margin: 0;
padding: 0;
}
.card>.content {
width: 150px;
height: 50px;
background-color: #fff;
margin: 0;
}
/* This is only for the purposes of this demo.
* In production you'd have an underlying grid layout and JS to figure out the position */
.card:nth-of-type(2) {
left: 175px;
}
.card:nth-of-type(3) {
top: 230px;
}
.card:nth-of-type(4) {
top: 230px;
left: 175px;
}
/* On hover transform the card to full size and translate it to the top left
* Note that translate comes before scale. */
.card:nth-of-type(1):hover {
transform: scale(2.1667);
z-index: 2;
}
.card:nth-of-type(2):hover {
transform: translate(-175px, 0) scale(2.1667);
z-index: 2;
}
.card:nth-of-type(3):hover {
transform: translate(0, -230px) scale(2.1667);
z-index: 2;
}
.card:nth-of-type(4):hover {
transform: translate(-175px, -230px) scale(2.1667);
z-index: 2;
}
<div class="card">
<img src="http://via.placeholder.com/325/F50057/ffffff">
<div class="content"></div>
</div>
<div class="card">
<img src="http://via.placeholder.com/325/F44336/ffffff">
<div class="content"></div>
</div>
<div class="card">
<img src="http://via.placeholder.com/325/1DE9B6/000000">
<div class="content"></div>
</div>
<div class="card">
<img src="http://via.placeholder.com/325/FFEB3B/000000">
<div class="content"></div>
</div>
बुनियादी चाल translate
और scale
के साथ सीएसएस transform
उपयोग करने के लिए है:
यहाँ एक बहुत ही बहुत ही बुनियादी उदाहरण सभी में कोई जे एस उपयोग कर रहा है ग्राफिक्स कार्ड और इसलिए मोबाइल पर भी एनिमेशन चिकनी रखें।
ध्यान दें कि सीएसएस बल्कि बदसूरत है - मैंने इसे ऐसा करने के लिए किया है यह दिखाने के लिए कि यह शुद्ध सीएसएस के साथ किया जा सकता है। प्रैक्टिस में आप कुछ जेएस ऑफसेट गुणों को सेट करने के लिए, एक क्लिक इवेंट को हुक अप करना चाहते हैं।
एक और चाल (जो मैंने यहां नहीं की है) एनीमेशन को पीछे की ओर स्केल करना है - पूर्ण से शुरू करें आकार नियंत्रण और translate
/scale
यह उस स्थिति में नीचे है जो इसे शुरू करने के लिए प्रतीत होता है।कि एनीमेशन शुरू करने से पहले पूर्ण आकार वस्तु के डोम पुनर्गणना के लिए होने से ब्राउज़र की बचत होती है - जब उस पर उपयोगकर्ता क्लिक transform
को हटा दें।
यह बहुत अच्छा है! हालांकि यह मेरी जरूरतों के अनुरूप नहीं है। प्रतिक्रियाओं में आइटम के साथ सूची और ध्यान केंद्रित आइटम दो अलग-अलग घटक हैं, इसलिए मैं इसे आसानी से नहीं कर सकता, जैसा कि आपके उदाहरण में दिखाया गया है। – Lucio
@ लुसियो आप कर सकते हैं, एनीमेशन आइटम घटक में स्वैप करने के लिए आपको एक अतिरिक्त कदम की आवश्यकता है। या आप आइटम घटक को विस्तारित विस्तार और सूची दृश्य दोनों को संभालते हैं और फिर यह संक्रमण करता है। किसी भी मामले में, इस तरह आप वेब में इस तरह के संक्रमण करते हैं। – Keith
मुझे यकीन है कि अगर मैं सवाल सही ढंग से समझ क्योंकि मैं एंड्रॉयड ढांचे से अनजान हूँ नहीं हूँ।
कदम::
- 2 राज्य चर बनाए रखें:
CurrentMode
&NextMode
यहाँ मेरी समाधान ReactJS ज्ञान के आधार पर है। संभावित मान1
&2
हैं। - एल्बम के क्लिक पर
NextMode
2
लिए बदल जाते हैं। और कोड मेंCurrentMode
&NextMode
के मूल्यों की तुलना करें। यदिCurrentMode
<NextMode
तदनुसार आकार सेट करने के बजाय। - इसी तरह जब
CurrentMode
>NextMode
आकार अनुसार सेट की तुलना में।
- 1. साझा तत्व संक्रमण पिकासो
- 2. टुकड़ा साझा तत्व संक्रमण ViewPager
- 3. TextInputLayout साझा तत्व संक्रमण समस्या
- 4. एंड्रॉइड साझा तत्व संक्रमण पूर्व -21
- 5. एंड्रॉइड लॉलीपॉप साझा तत्व संक्रमण ब्लिंक/फ्लैश
- 6. साझा तत्व संक्रमण (अग्रभूमि/पृष्ठभूमि) समस्या
- 7. एंड्रॉयड साझा तत्व संक्रमण, गलत प्रारंभिक स्थिति
- 8. अंतिम गतिविधि में कस्टम साझा तत्व संक्रमण
- 9. साझा तत्व के साथ एक टुकड़े पर संक्रमण दर्ज करें साझा तत्व
- 10. साझा तत्व संक्रमण दृश्य (नहीं क्रियाएँ या टुकड़े) के बीच
- 11. एक साझा तत्व संक्रमण के रूप में CollapsingToolbarLayout शीर्षक
- 12. साझा तत्व संक्रमण में अपेक्षित व्यवहार नहीं है
- 13. android.support.transition का उपयोग कैसे करें। एक खंड के रूप में ट्रांज़िशन/संक्रमण सेट साझा तत्व दर्ज/वापसी संक्रमण?
- 14. विभिन्न उन्मुखताओं के साथ गतिविधियों के बीच साझा तत्व संक्रमण का उपयोग
- 15. एंड्रॉइड - कॉलिंग गतिविधि खत्म करने के साथ साझा तत्व संक्रमण()
- 16. ReactJs में GoJs का उपयोग
- 17. तत्व संक्रमण या एनीमेशन
- 18. एक खंड से एक गतिविधि में साझा तत्व संक्रमण कैसे साझा करें
- 19. ReactJS
- 20. संक्रमण का उपयोग कर संक्रमण व्यवहार FromView और संक्रमण WithView
- 21. का उपयोग सीएसएस परिणत: का अनुवाद (...) ReactJS
- 22. ReactJS
- 23. ReactJS
- 24. ReactJS - एक तत्व की ऊंचाई प्राप्त करें
- 25. पता लगाएं कि इनपुट तत्व ReactJS
- 26. इस का उपयोग करते हुए ReactJs
- 27. ReactJS
- 28. ReactJS
- 29. Reactjs
- 30. ReactJS
आपके द्वारा दिखाया गया लेनदेन HTML5/css3 में एक तत्व संक्रमण (छवि + संगीत प्लेयर) का उपयोग करके प्राप्त किया जाना चाहिए जबकि प्रतिक्रियाएं संगीत प्लेयर उप-तत्व की सामग्री परिवर्तन को प्रबंधित कर सकती हैं। ताकि आपको प्रतिक्रिया –
में शेयर तत्व ट्रांसलेशन विकल्प खोजने की आवश्यकता न हो, तो सीधे अपने प्रश्न का उत्तर देने के लिए, आपने https://facebook.github.io/react/docs/animation.html#high-level-api- reactcsstransitiongroup? –
@ChrisChen पहले से ही यह जाँच, मुझे लगता है कि मैं अपने ही साझा तत्वों संक्रमण प्रणाली बनाने के लिए जा रहा हूँ। इस बीच अगर किसी को पुस्तकालय मिल जाता है जो पहले से ही करता है, तो कृपया इसे यहां लिंक करें। – Lucio