暂停jquery函数以等待加载ajax内容,然后继续
我有一个脚本,它根据用户单击的链接将一些html加载到div中。我正在尝试为此事件创建交叉淡入淡出类型的动画。以下是我正在使用的代码:暂停jquery函数以等待加载ajax内容,然后继续,jquery,Jquery,我有一个脚本,它根据用户单击的链接将一些html加载到div中。我正在尝试为此事件创建交叉淡入淡出类型的动画。以下是我正在使用的代码: var loadInit = $('.thumbs a:first').attr("href"); $('#loadTarget').load(loadInit); $('.thumbs a').click(function(){ var toLoad = $(this).attr('href'); $('#loadTarget
var loadInit = $('.thumbs a:first').attr("href");
$('#loadTarget').load(loadInit);
$('.thumbs a').click(function(){
var toLoad = $(this).attr('href');
$('#loadTarget').hide('slow',loadContent);
function loadContent() {
$('#loadTarget').load(toLoad,'',showNewContent())
}
function showNewContent() {
$('#loadTarget').show('slow');
}
return false;
});
我想做的是暂停脚本,直到loadContent函数完全加载了html和与之相关的图像。我得到这个恼人的闪光作为第一个内容是隐藏和新的内容加载。任何想法???jQuery load有一个回调函数,在加载完成时调用该函数:
$('#loadTarget').load(loadInit, function(response) {
alert('complete! Returned: ' + response);
});
添加:
function loadContent() {
$('#loadTarget').load(toLoad,'',showNewContent()) //Wrong.
}
调用showNewContent()
时,将立即执行。相反,您要做的是通过排除()
来传递指向函数的指针
这就是导致您在立即调用showNewContent时闪烁的原因。jQuery load有一个回调函数,在加载完成时调用该函数:
$('#loadTarget').load(loadInit, function(response) {
alert('complete! Returned: ' + response);
});
添加:
function loadContent() {
$('#loadTarget').load(toLoad,'',showNewContent()) //Wrong.
}
调用showNewContent()
时,将立即执行。相反,您要做的是通过排除()
来传递指向函数的指针
这就是当您立即呼叫showNewContent时导致闪烁的原因。第二部分是答案。第一位实际上并不适用,因为问题发生在单击而不是首次加载时(可能)。是的,这是正确的。但是他有关于链接负载的注释,他的语法有点不正确,所以我想我应该包括它的细节。第二部分是答案。第一位实际上并不适用,因为问题发生在单击而不是首次加载时(可能)。是的,这是正确的。但是他有关于链接负载的注释,他的语法有点不正确,所以我想我应该包括它的细节。如果你发现我下面的答案是你问题的答案,请投票并将其标记为答案,以便其他用户可以找到它并解决类似的问题!谢谢如果您发现下面的我的答案是您问题的答案,请投票并将其标记为答案,以便其他用户可以找到它并解决类似问题!谢谢