2013-08-25 4 views
5

मैं JQuery के लिए बिल्कुल नया हूं, इसलिए मुझे यकीन नहीं था कि इस समस्या को कहां से शुरू किया जाए।प्लेसहोल्डर टेक्स्ट के माध्यम से JQuery के साथ फॉर्म में चक्र?

मेरे पास एक वेबसाइट पर एक फॉर्म है जो मैं अस्थायी रूप से विभिन्न प्लेसहोल्डर्स और उनके माध्यम से चक्र दिखाना चाहता हूं (उपयोगकर्ता द्वारा इनपुट किए जाने वाले कई विकल्पों की नकल करने के लिए, जैसे कि ऐलिस, बॉब, चार्ल्स इत्यादि। NAME फॉर्म इनपुट के लिए) उपयोगकर्ता अपने स्वयं के पाठ इनपुट करने के लिए क्लिक करने से पहले।

मुझे यह उदाहरण मिला - http://jsfiddle.net/eFjnU/ (नीचे कोड) - पाठ के माध्यम से चक्र, लेकिन मैं इसे फॉर्म इनपुट क्षेत्र में अस्थायी प्लेसहोल्डर्स पर कैसे लागू कर सकता हूं?

एचटीएमएल

<div id="content-1">Sample text 1</div> 
<div id="content-2">Sample text 2</div> 
<div id="content-3">Sample text 3</div> 
<div id="content-4">Sample text 4</div> 
<div id="content-5">Sample text 5</div> 
<div id="content-6">Sample text 6</div> 
<div id="content-7">Sample text 7</div> 

JQuery

var divs = $('div[id^="content-"]').hide(), 
    i = 0; 

(function cycle() { 

    divs.eq(i).fadeIn(400) 
       .delay(1000) 
       .fadeOut(400, cycle); 

    i = ++i % divs.length; 

})(); 

आप इनपुट करने के लिए div से ऊपर बदल सकते हैं, लेकिन यह इच्छा चक्र में और बाहर पूरे इनपुट बॉक्स है, और मैं करने के लिए केवल प्लेसहोल्डर पाठ चाहते हैं फ़ेड इन आउट।

संपादित करें 1:

उदाहरण के लिए:

<input type="text" name="whatever" type="text" placeholder="Alice"> 
<input type="text" name="whatever" type="text" placeholder="Bob"> 
<input type="text" name="whatever" type="text" placeholder="Charles"> 
+1

यह वास्तव में स्पष्ट नहीं है कि आप – Itay

+0

करने का प्रयास कर रहे हैं ऊपर नया संपादन देखें। – alxlvt

+0

और आप उन्हें एक ही इनपुट पर चाहते हैं? – Itay

उत्तर

4

आप प्लेसहोल्डर पाठ चेतन नहीं कर सकते हैं लेकिन आप एक समारोह है कि समय-समय पर बदलता है विशेषता बना सकते हैं:

Demo fiddle

var placeholders = ['Alice','Bob','Charles']; 

(function cycle() { 
    var placeholder = placeholders.shift(); 
    $('input').attr('placeholder',placeholder); 
    placeholders.push(placeholder); 
    setTimeout(cycle,1000); 
})(); 

है वह मूल रूप से आप क्या चाहते हैं शून्य से fadein/fadeOut

+0

क्या आप कृपया मुझे बता सकते हैं कि यह समाधान क्यों काम नहीं करेगा http://jsfiddle.net/L24vR/ –

+0

@FaceOfJock 'देरी()' डिफ़ॉल्ट रूप से एनीमेशन कतार के साथ ही काम करता है, भले ही आप देरी का उपयोग करने जा रहे हों इसे किसी तत्व पर कॉल करना है, यह वैश्विक फ़ंक्शन नहीं है –

+0

मैंने सेटटाइमआउट का उपयोग करने का भी प्रयास किया, लेकिन यह काम नहीं कर रहा है: http://jsfiddle.net/kADwN/ कोई सुझाव? –

0

स्थान धारक पाठ एक कंटेनर की जरूरत है। यह कुछ भी हो सकता है। इनपुट फ़ील्ड के ऊपर या नीचे एक अवधि या लेबल टैग के रूप में सरल।

+0

सुनिश्चित नहीं है कि यह काम करेगा या नहीं; नया संपादन देखें। मैं इनपुट टैग के प्लेसहोल्डर टेक्स्ट के माध्यम से चक्र की तलाश में हूं। – alxlvt

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