2011-01-05 8 views
7

बाहर निकल रहा है, मैं एक jquery fadeOut() को फिर से शुरू करना चाहता हूं, जबकि यह बाहर निकलने के बीच में है।jquery.fadeOut() को पुनरारंभ करें, जबकि यह

मैं निम्नलिखित बयान

$('#status').html('<div style="padding:5px; margin:0 0 0 200px;"><img src="/images/done.png" /> ' + message + '</div>').show().fadeOut(2000); 

एक उपयोगकर्ता कोई ऐसा कार्य करता है जब है, इस बयान को चलाने के हो जाता है। 2 सेकंड चलने के लिए, उपयोगकर्ता एक और क्रिया कर सकता है जो इस कथन को कॉल करता है।

फिलहाल, फीडऑट को फीड आउट एनीमेशन फिर से खेलना होगा।

क्या फीडऑट को फिर से शुरुआत से फिर से शुरू करने का कोई तरीका है?

उत्तर

5

.fadeOut() पर कॉल करने से पहले .stop() का उपयोग करें।

वैकल्पिक रूप से, .stop(true, true) का उपयोग करें यदि आप गंतव्य मानों से प्रारंभ करना चाहते हैं।

+0

धन्यवाद था: डी मैं एक मामूली संशोधन करना था। मुझे $ ('# स्थिति') कॉल करना पड़ा। रुको (सच, सच); स्थिति विवरण –

1

आप fadeOut को कॉल करने से पहले stop पर कॉल कर सकते हैं। वह फीडऑट एनीमेशन को पुनरारंभ करेगा। अन्यथा, दूसरे फीडऑट को पहले के बाद कतारबद्ध किया जाएगा।

1

उपयोग

jQuery.stop().fadeOut() 

fadeOut एनीमेशन अप कतार रोकने के लिए।

.stop() can be used to prevent queueing any jQuery Animation 

http://api.jquery.com/stop/

+0

thx chetan चलाने से पहले यह मेरे लिए काम करता है :) –

0

यह अजीब है, लेकिन मेरे मामले में बेहतर तरीका

//onclick 
    .stop(true, true).fadeIn().stop(true, true); //reset: stop old fadeOut and make visible again 
    .fadeOut(); //again 
संबंधित मुद्दे