jQuery - 在继续之前执行函数
如何停止执行函数直到另一个函数完成?
$('#div').load( 'sub.html', function() {
//Do this once done loading the sub.html file
setTimeout(function() {
//Run SomeFunction(); before doing anyhing else
$('#tabsWrapper').removeClass('ajaxLoading');
$('#tabsWrapper #loaderDiv').fadeIn(500);
} , 1000);
});
我想确保在执行 $('#tabsWrapper').removeClass('ajaxLoading');
等之前完成 SomeFunction()
。
任何建议如何实现那?非常感谢任何帮助。
How can I stop executing function till another function is done?
$('#div').load( 'sub.html', function() {
//Do this once done loading the sub.html file
setTimeout(function() {
//Run SomeFunction(); before doing anyhing else
$('#tabsWrapper').removeClass('ajaxLoading');
$('#tabsWrapper #loaderDiv').fadeIn(500);
} , 1000);
});
I want to make sure SomeFunction()
is done before doing $('#tabsWrapper').removeClass('ajaxLoading');
etc..
Any suggestion how can I achieve that? Any help much appreciated.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
使用回调方法。
请参考JQuery API
Use the callback method.
Please refer to the JQuery API
从您的
SomeFunction()
返回一些值并放入如下条件:更好的方法是使用自调用匿名函数,如下所示:
这里
setTimeout
只会在doStuff
完成时触发。Return some value from your
SomeFunction()
and put in condition like this:A better approach would be using self-invoking anonymous function something like this:
Here
setTimeout
will only trigger whendoStuff
is finished.