डेमो देखें: jsFiddleइस अजीब jQuery को कैसे रोकें .animate() अंतराल?
- मैं एक सरल रूप है कि जब 'शो'/'रद्द करें'
- सब कुछ ठीक काम करता है पर क्लिक टॉगल किया जा रहा है, लेकिन यदि आप क्लिक करें 'रद्द करें' के बाद शीघ्र ही रूप है पता चला है कि एनीमेशन भी से शुरू होने से पहले एक अच्छा 2-3 सेकंड अंतराल है।
- ऐसा नहीं होता है यदि आप 'रद्द करें' पर क्लिक करने से पहले कुछ सेकंड प्रतीक्षा करते हैं।
- अंतराल सभी परीक्षण किए गए ब्राउज़र (यानी, एफएफ, क्रोम) में होता है।
1. क्या इस अंतराल का कारण बन सकता है और यह कैसे रोका जा सकता है?
2. वहाँ एनिमेशन के इस क्रम कोडिंग के लिए एक बेहतर तरीका यह है कि किसी भी अंतराल रोक सकती है?
एचटीएमएल:
<div id="newResFormWrap">
<form id="newResForm" action="" method="post" name="newRes">
<div id="newResFormCont">
<h3>title</h3>
<p>form!</p>
<div class="button" id="cancelNewRes">Cancel</div>
</div>
</form>
</div>
<div class="button" id="addRes">show</div>
jQuery:
$("#newResForm").css({opacity: 0});
$("#addRes").click(function() {
toggleNewRes()
});
$("#cancelNewRes").click(function() {
toggleNewRes()
});
//toggleNewRes
function toggleNewRes() {
if ($("#newResFormWrap").css('display') == "none") {//if hidden
$("#addRes").animate({ opacity: 0 }, 'fast', function() {
$("#newResFormWrap").toggle('fast', function(){
$("#newResForm").animate({ opacity: 100 },2000);
});
});
} else { //if visible
$("#newResForm").animate({ opacity: 0 }, 100,function() {
$("#newResFormWrap").toggle('fast', function(){
$("#addRes").animate({ opacity: 100 });
});
});
}
}
अच्छा स्पष्टीकरण – Roy
बिल्कुल सही जवाब। –