And*_*ndy 12 javascript jquery events jquery-ui
我想使用jQuery的load
函数将一些内容加载到div中,我也想调用jQuery的animate
函数.
$('#div1').load('...', function() {
// load complete
});
$('html,body').animate({
...: ...}, ..., '...', function(){
// animate complete
});
Run Code Online (Sandbox Code Playgroud)
我不想load
在打电话之前等待完成,animate
反之亦然.
在此之后我想调用第三个函数,但我不想把它直到两个完整的事件load
和animate
被解雇.
我怎样才能做到这一点?
qer*_*rub 40
听起来像是一份工作Deferred
:http://api.jquery.com/category/deferred-object/
var load = $.Deferred(function (dfd) {
$('#div1').load(…, dfd.resolve);
}).promise();
var animate = $('html,body').animate(…);
$.when(load, animate).then(function () {
// Do your thing here!
});
Run Code Online (Sandbox Code Playgroud)
var _loadComplete = false;
var _animateComplete = false;
$('#div1').load('...', function() {
// load complete
_loadComplete = true;
checkComplete();
});
$('html,body').animate({
...: ...}, ..., '...', function(){
// animate complete
_animateComplete = true;
checkComplete();
});
function checkComplete() {
if(_loadComplete && _animateComplete)
runThirdFunction();
});
Run Code Online (Sandbox Code Playgroud)