5 सेकंड के लिए jQuery शो फिर छिपाएँ


145

मैं .showएक सफल फॉर्म सबमिट करने के बाद एक छिपे हुए संदेश को प्रदर्शित करने के लिए उपयोग कर रहा हूं ।

5 सेकंड के लिए संदेश कैसे प्रदर्शित करें फिर छिपाएं?

जवाबों:


351

आप .delay()इस तरह से एक एनीमेशन से पहले उपयोग कर सकते हैं :

$("#myElem").show().delay(5000).fadeOut();

यदि यह एक एनीमेशन नहीं है setTimeout(), तो इस तरह सीधे उपयोग करें:

$("#myElem").show();
setTimeout(function() { $("#myElem").hide(); }, 5000);

आप दूसरी बार करते हैं क्योंकि .hide()सामान्य रूप से एनीमेशन ( fx) कतार में अवधि के बिना नहीं होगा , यह सिर्फ एक त्वरित प्रभाव है।

या, एक अन्य विकल्प का उपयोग करना है .delay()और .queue()अपने आप को, इस तरह:

$("#myElem").show().delay(5000).queue(function(n) {
  $(this).hide(); n();
});

1
सुझाव 2 ने पूरी तरह से एक चेकमार्क आइकन दिखाने और छिपाने के बजाय fadeOut () का उपयोग करके काम किया। बहुत बढ़िया जवाब।
केविन ज़िक

2
@wilsjd नहीं आप नहीं कर सकते हैं, तत्व के .delay()साथ काम नहीं करेगा , .hide()फिर तुरंत छिपाकर दिखाया जाएगा। यह देखें jsField यही कारण है कि निक ने कहा है "यदि यह एक एनीमेशन नहीं है, तो सेटटाइमआउट () को सीधे इस तरह का उपयोग करें: ...."
वेस्ले स्मिथ

हम्म, मुझे आश्चर्य है कि अगर वह दो साल पहले काम करता था। हालांकि अच्छा लगा। मुझे ईमानदार रखने के लिए धन्यवाद।
विज्ज्ड

मैंने इसे लागू भी कर दिया है, लेकिन जब मैं 5 सेकंड के भीतर दो बार
एमएसएन

18

आप चेतन करने के लिए नीचे के प्रभाव का उपयोग कर सकते हैं, आप अपनी आवश्यकताओं के अनुसार मान बदल सकते हैं

$("#myElem").fadeIn('slow').animate({opacity: 1.0}, 1500).effect("pulsate", { times: 2 }, 800).fadeOut('slow'); 

1
$ (...)। fadeIn (...)। चेतन (...)। प्रभाव JQuery में एक कार्य नहीं है 2.1.3
डस्टिन चार्ल्स

@DustinCharles केवल jQuery नहीं jQueryUI जोड़ें। jQuery का प्रभाव नहीं होता है () फ़ंक्शन उदा। code.jquery.com/ui/1.12.0/jquery-ui.min.js
राहुल

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.