2013-03-24 5 views
5

में समय-समय पर JQuery अद्यतन मैं (स्क्वीक 4.2 में 2.8) समुद्री तट का उपयोग कर रहा है और सामान्य रूप से इस तरह अद्यतन करने हूँ:समुद्रतट

html div 
    onClick: ((html jQuery: '#asdf') load html: [:h|h text: 'qwer']) 
    ; with: 'asdf'. 

लेकिन इस बार, मैं अद्यतन करने के लिए समय-समय पर एक div है।

मैंने किसी अन्य प्रोजेक्ट में पीटी के periodicalEvaluator का उपयोग किया है, हालांकि इस में मैं नहीं कर सकता, मुझे जेक्यू से चिपकना है। किसी कारण से

onClick: (((html jQuery id: 'chattertext') delay: 1000; yourself) load html: [:h| self renderTextOn: h]) 
; onClick: (((html jQuery id: 'chattertext') delay: 1000) load html: [:h| self renderTextOn: h]) 
; onClick: (((html jQuery id: 'chattertext') delay: 1000; load) html: [:h| self renderTextOn: h]) 
and others 

अद्यतन 1000 मिली सेकंड के जो मैं की जरूरत के बाद के बजाय तात्कालिक है:

मैं उपयोग करने के लिए JQInstance के delay:millis सभी संयोजनों में मैं के बारे में सोच सकता है की कोशिश की।

उत्तर

4

JQuery कार्यात्मक परीक्षण सूट के साथ आने वाले उदाहरण पर एक नज़र डालें:

JQRepeatingFunctionalTest>>#renderContentOn: html 
    html paragraph 
    script: (html jQuery this load 
     html: [ :r | self renderTimeOn: r ]; 
     interval: 1 seconds); 
    with: [ self renderTimeOn: html ] 

उदाहरण here चला रहा है।

+0

धन्यवाद, धन्यवाद! अभी तक +1 नहीं कर सकता क्योंकि इसे 15 प्रतिनिधि की आवश्यकता है। – ben

+0

इसे नहीं भूल गया ;-) – ben

1

jQuery का delay फ़ंक्शन केवल प्रभावों पर लागू होता है [1]।

प्राप्त करने के लिए आप क्या चाहते हैं, बस जावास्क्रिप्ट के setTimeout या setInterval कार्यों का उपयोग:

onClick: (((html jQuery id: 'chattertext') load html: [:h| self renderTextOn: h]) timeout: 1000) 

[1] http://api.jquery.com/delay/

+0

सबसे पहले, आपके उत्तर के लिए धन्यवाद। लेकिन यह एक त्रुटि दिखाता है: 'WAError: विकल्प' टाइमआउट 'JQLoad में समर्थित नहीं है। या तो डिफ़ॉल्ट मानों को कॉन्फ़िगर करने के लिए #ajaxSetup का उपयोग करें, या # AJAX. के साथ अधिक शक्तिशाली संस्करण। इसे ठीक करने के लिए कोई भी विचार? – ben

+0

यह वास्तव में एक दुर्भाग्यपूर्ण तरीका है JQAjax wrappers पर ओवरराइड। क्या आप निम्न कोशिश कर सकते हैं? ((एचटीएमएल jQuery आईडी: 'chattertext') html html लोड करें: [: h | self renderTextOn: h]) addDecoration: (JSTimeout अवधि: अवधि)) अगर यह काम करता है तो मुझे बताएं, तो मैं अपना जवाब अनुकूलित कर दूंगा। –

+0

आह मैं देखता हूं, इस दौरान हल किया गया था :-) –

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