मेरे पास निम्नलिखित संरचना है
$("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
}
});
});