2011-09-24 8 views
6

क्या jquery में एक समय में टेक्स्ट एक पंक्ति प्रकट करना संभव है? मुझे पता है कि यह फ़्लैश में किया जा सकता है मेरे पास एक उदाहरण है http://iliketoplay.dk/#/blog/deff। वीडियो खेलने पर, माउस एक सर्कल पर क्लिक करता है जो एक बॉक्स खोलता है जिसमें टेक्स्ट होता है लेकिन टेक्स्ट की प्रत्येक पंक्ति एक बार में एक शानदार दिखने वाले प्रभाव के साथ प्रदर्शित होती है। क्या इसे फिर से बनाया जा सकता है?क्या jquery के साथ टेक्स्ट की प्रत्येक पंक्ति को एनिमेट करना संभव है?

+0

आप प्रत्येक शब्द को एक अवधि में लपेट सकते हैं और उन्हें लाइन और कॉलम के साथ अनुक्रमणित करने का प्रयास कर सकते हैं, फिर उन्हें एनिमेट कर सकते हैं। मैं इसे एक शॉट दूंगा और वापस आऊंगा। –

उत्तर

4

यह एक समस्या नहीं होनी चाहिए, लेकिन समाधान अपने इनपुट प्रारूप पर निर्भर करता है।

var lines = text.split("\n"); 

तो फिर तुम प्रत्येक लाइन के साथ कुछ कर सकते हैं के रूप में आप की इच्छा है, जैसे:

var timer, 
    displayLine = function(){ 
    var nextLine = lines.shift(); 
    if(nextLine){ 
     var newLine = $('<span class="initState">' + nextLine + '</span>'); 
     $('#someContainer').append(newLine); 
     newLine.animate({ [PUT SOME ANIMATION HERE] }, 1000); 
     } 
     timer = setTimeout(displayLine,3000); 
    } 
    } 
timer = setTimeout(displayLine,3000); 

पूर्ण उदाहरण यहाँ देखें आप हिस्सा ऊपर लाइनों में पाठ जो इस तरह किया जा सकता है की जरूरत है: http://jsfiddle.net/7dd52/

+0

initState क्लास स्टाइल किया जाना चाहिए ताकि तत्व प्रकट हो जहां आप एनीमेशन शुरू करना चाहते हैं। जैसे ऊंचाई: 0; मार्जिन टॉप: -20px; अतिप्रवाह: छिपा हुआ; आदि –

+0

हाय साथी क्या आप मुझे एक उदाहरण दिखा सकते हैं? थोड़ा उलझन में हूँ – Farreal

+0

निश्चित: http://jsfiddle.net/7dd52/ –

1

तुम बस प्रत्येक पंक्ति के लिए div का उपयोग और फिर चेतन है कि कुछ ...

<div class="first">first line</div> 
<div class="second">second</div> 

$(".first").animate({'left':'-15px'}, 1000); 
+0

मैं इसका उपयोग नहीं करता, मुझे नहीं पता कि पाठ क्या होगा, मुझे लगता है कि इसे गतिशील रूप से किया जाना चाहिए। –

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