mhe*_*ers 1 javascript ajax jquery return callback
我将jquery中的一些动画与一些ajax加载相结合 - 从函数A,我希望能够调用函数B淡出当前内容,并且一旦完成该动画,返回运行函数A中的其余代码. 这可能吗?我想象的是这样的:
function buttonClicked(){
if(sectionHidden != true){
hideSection($sectionRef);
}
//RUN THE FOLLOWING AFTER HIDE SECTION HAS FINISHED (FUNCTION B)
loadSection();
}
function hideSection($sectionRef){
$sectionRef.fadeTo(500,0,function(){
return someValue;
});
}
Run Code Online (Sandbox Code Playgroud)
由于我的代码中有一些其他复杂性(多个函数调用hideSection),我无法从hideSection调用loadSection.
.fadeTo()获取一个回调参数,该参数在淡出结束时调用.您所要做的就是为它提供loadSection功能.以机智:
function buttonClicked() {
if (!sectionHidden) {
hideSection($sectionRef, loadSection);
}
else {
loadSection();
}
}
function hideSection($sectionRef, doneCallback) {
$sectionRef.fadeTo(500, 0, doneCallback);
}
Run Code Online (Sandbox Code Playgroud)
如果您不想在hideSection()从代码的其他部分调用后加载该部分:
function someStuff() {
//stuff...
hideSection($superRef); //won't call loadSection()
//more stuff
}
Run Code Online (Sandbox Code Playgroud)