/ / निष्पादन को तब तक रोकना जब तक कि अन्य एनिमेशन पूर्ण jQuery के न हों - जावास्क्रिप्ट, jquery, ajax, डायलॉग, रेंडरिंग

अन्य एनिमेशन पूर्ण होने तक निष्पादन रोकना jQuery - जावास्क्रिप्ट, jquery, AJAX, संवाद, प्रतिपादन

मेरे पास कई डायलॉग हैं जो इस प्रकार हैं:

  $("#dialog").load("/ajax/content.php");
$("#dialog").dialog({....});

और संवाद को खोलने के लिए एक वैश्विक घटना की निगरानी

 $(document).on("dialogOpen", ".dialogClass", function() {
var parent = $(this).parent();
parent.css("left","-768px");
parent.animate({
left:0
}, speed, "easeOutBounce");
}

कुछ पन्नों पर यह बहुत कटा हुआ दिखाई दे रहा है। मुझे संदेह है कि ये एनिमेशन हो रहे हैं क्योंकि संवाद लोड हो रहा है और इसके अजाक्स कॉल के परिणामों को प्रदान कर रहा है। क्या कोई ऐसा तरीका है जिसे मैं तब तक रोक सकता हूं जब तक कि अन्य सभी एनिमेशन पूरे न हो जाएं:

 $(document).on("dialogOpen", ".dialogClass", function() {
//Wait until other rendering is complete prior to executing further
var parent = $(this).parent();
parent.css("left","-768px");
parent.animate({
left:0
}, speed, "easeOutBounce");
}

उत्तर:

जवाब के लिए 0 № 1

क्या तुमने विचार किया है jQuery .queue ()?

इसे बाहर की जाँच करें: http://api.jquery.com/queue/

इसके साथ आप एक विशिष्ट कतार क्रम का निर्माण कर सकते हैं जिसे आप अपने एनिमेशन का अनुसरण करना चाहते हैं


जवाब के लिए 0 № 2

jquery हो सकता है कॉलबैक कार्यक्षमता में मदद मिलेगी ..

उस फ़ंक्शन को कॉल करें जिसे आप अन्य सभी रेंडरिंग पूर्ण होने के बाद निष्पादित करना चाहते हैं .. जैसे

कार्रवाई पूरा होने के बाद अलर्ट दिखाने के लिए एक सरल उदाहरण

$(document).ready(function(){
$("button").click(function(){
$("p").hide("slow",function(){
somefunction(); // this will execute after the completion of function
});
});
});

somefunction()
{
alert("The paragraph is now hidden");
}