/ / कॉलबैक का उपयोग किए बिना jQuery एनीमेशन के पूरा होने तक प्रतीक्षा करें - jquery, एनीमेशन, कॉलबैक

कॉलबैक - jquery, एनीमेशन, कॉलबैक का उपयोग किये बिना jQuery एनीमेशन को पूरा करने के लिए प्रतीक्षा करें

मेरे पास निम्नलिखित संरचना है

$("foo").click( function() {
var bool = false;
$("bar").animate( function() {
//bool = something
});

return bool;
});

लेकिन क्योंकि एनीमेशन कॉलबैक async, बूल हैकभी ठीक से सेट नहीं है। कॉलबैक में रिटर्न स्टेटमेंट को आगे नहीं बढ़ाना "कोई मतलब नहीं है। मैं एनीमेशन को पूरा होने तक इंतजार करने के लिए रिटर्न स्टेटमेंट कैसे प्राप्त कर सकता हूं?"

उत्तर:

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

यह संभव नहीं है, वापसी तुरंत होगी- इसमें देरी करने का कोई तरीका नहीं है। इसके बजाय इसे करने का प्रयास करें:

$("foo").click( function(e) {
e.preventDefault();
var _this = this;
$("bar").animate( function() {
if (somecondition) {
window.location.href = _this.href;
// or submit the form, etc.
}
});
});

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

नीचे की तरह कोशिश करें,

$("foo").click( function(e) {
e.preventDefault(); //prevent submission

var bool = false;
$("bar").animate( function() {
//bool = something
if (bool) {
//do what you wanted to do
}
});
});