2010-05-30 16 views
60

मैं वस्तु ऊपर ले जाएँ, देरी 1000ms, तो इसे छिपाने चाहतेJquery: कैसे सो या देरी?

मैं कोड प्राप्त,:

$("#test").animate({"top":"-=80px"},1500) 
     .animate({"top":"-=0px"},1000) 
     .animate({"opacity":"0"},500); 

मैं का उपयोग करें ".animate ({" टॉप ":" - = 0px "}, 1000) "देरी को लागू करने के लिए, यह अच्छा नहीं है।

मैं चाहता हूँ:

$("#test").animate({"top":"-=80px"},1500) 
     .sleep(1000) 
     .animate({"opacity":"0"},500); 

किसी भी विचार?

उत्तर

95

कैसे .delay() के बारे में?

http://api.jquery.com/delay/

$("#test").animate({"top":"-=80px"},1500) 
      .delay(1000) 
      .animate({"opacity":"0"},500); 
+3

यह 1.4 के लिए नया है। –

+4

यह इस मामले में काम करता है लेकिन एक धागा को सोने के लिए कह रहा है और प्रभाव में देरी दो पूरी तरह से अलग चीजें हैं। jQuery भी उनके दस्तावेज़ीकरण में इसकी याद दिलाता है। – ars265

56

आप delay विधि का उपयोग नहीं कर सकते हैं के रूप में रॉबर्ट हार्वे का सुझाव दिया, आप setTimeout उपयोग कर सकते हैं।

ईजी।

setTimeout(function() {$("#test").animate({"top":"-=80px"})} , 1500); // delays 1.5 sec 
setTimeout(function() {$("#test").animate({"opacity":"0"})} , 1500 + 1000); // delays 1 sec after the previous one 
संबंधित मुद्दे