2012-09-25 13 views
5

मैं show() ईवेंट में देरी करने के लिए jQuery delay() फ़ंक्शन का उपयोग कर रहा हूं, लेकिन उसके बाद मैं पृष्ठ का स्थान बदलना चाहता हूं। मैं उसे कैसे कर सकता हूँ?मैं jQuery के साथ देरी() के बाद रीडायरेक्ट कैसे कर सकता हूं?

$('#error').delay(800).show(); 
location.href = '/profile' 

क्षमा करें, मैं उल्लेख करना भूल गया कि मैं रीडायरेक्ट में भी देरी करना चाहता हूं।

उत्तर

8

शो के लिए एक कॉलबैक() .show() http://api.jquery.com/show/

'शो' 800 मिलीसेकेंड के बाद क्या होगा, तो बाद तत्व दिखाया गया है, रीडायरेक्ट हो जाएगा पर

$('#error').delay(800).show(0, function() { 
    setTimeout(function() { 
     location.href = '/profile' 
    }, 8000); 
}); 

प्रलेखन प्रदान करें 8 सेकंड बाद में। इस कोड के साथ आपको बोलने के लिए 2 'देरी' होगी।

+0

क्षमा करें, मैं उल्लेख करना भूल गया कि मैं रीडायरेक्ट में भी देरी करना चाहता हूं। –

+0

बस रीडायरेक्ट के लिए एक सेटटाइम जोड़ें। – Mark

1

window.setTimeout() का उपयोग करें, .delay केवल jQuery एनीमेशन में उपयोग किया जा सकता है।

$('#error').show(); 
setTimeout(function() { 
    location.href = '/profile'; 
}, 800); 
+0

स्पष्टीकरण के लिए धन्यवाद। –

+0

यह jQuery का उपयोग करते समय जाने का सही तरीका नहीं है। कॉलबैक एक कारण के लिए हैं। जाहिर है कि आपका कोड ठीक काम करता है, लेकिन यदि ओपी अधिक जंजीर कॉल जोड़कर इसे किसी भी तरह से जटिल बनाना चाहता था, तो आप कॉलबैक का उपयोग करना चाहेंगे। – Ian

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

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