I have this javascript:
triggerAnimation(listItem,toggleToggleRadioListItem(listItem));
function triggerAnimation(listItem,passThruFunction){
listItem.find(".inlineLoading").show();
// pause and then call the toggle function
$("body").animate({opacity: 1}, 1000,
function(){
alert("a");
passThruFunction;
}
);
}
function toggleToggleRadioListItem(listItem) {
alert("b");
};
What is supposed to happen:
Based on the above, I'd expect the alert A to appear before alert B but that is not the case. What happens is that (it seems) alert B is called as soon as triggerAnimation() is called. Why is that? How can I achieve that behavior?
click(function(){ if (condition == 'true'){ function1(someVariable); function2(someOtherVariable); } else { doThis(someVariable); } });
If we have three synchronous functions, we can execute them asynchronously using the setTimeout function. setTimeout(doSomething, 10); setTimeout(doSomethingElse, 10); setTimeout(doSomethingUsefulThisTime, 10);
To call a jQuery function after a certain delay, use the siteTimeout() method. Here, jQuery fadeOut() function is called after some seconds.
function someFunction() { //do stuff } $(document). ready(function(){ //Load City by State $('#billing_state_id'). live('change', someFunction); $('#click_me'). live('click', function() { //do something someFunction(); }); });
You can delay the execution by passing in a function and calling it later.
triggerAnimation(listItem, function () {
toggleToggleRadioListItem(listItem)
});
function triggerAnimation(listItem,passThruFunction){
listItem.find(".inlineLoading").show();
// pause and then call the toggle function
$("body").animate({opacity: 1}, 1000,
function(){
alert("a");
passThruFunction();
}
);
}
function toggleToggleRadioListItem(listItem) {
alert("b");
};
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With