在jQuery中,如何测试javascript函数何时完全加载? 我想使用一个显示加载过程的gif图像,当javascript函数加载时显示它,当函数完全加载后隐藏它?
在jQuery中,如何测试javascript函数何时完全加载? 我想使用一个显示加载过程的gif图像,当javascript函数加载时显示它,当函数完全加载后隐藏它?
$(function(){
$("#loadingGIF").show();
WaitForFunction();
});
function WaitForFunction()
{
if (!$.isFunction(FUNCTION_TO_WAIT_ON_HERE)) {
setTimeout( WaitForFunction, 100);
return;
}
Function_Loaded();
}
function Function_Loaded(){
$("#loadingGIF").hide();
}
for
或 while
),并且在调用自身,因此是递归的。仅仅因为有一个延迟,并不能使其变得不再是递归,所有的递归都有一个停止条件,否则将会产生无限循环。 - vol7ronsetTimeout
没有调用给定的函数,而是将其添加到事件队列中。所以基本上setTimeout
立即返回,WaitForFunction
也是如此。所以我们在这里可能有一个无限的事件链(类似于setInterval
)。 - Fuujuhi在定义函数后,只需调用函数即可。函数定义后的语句将仅在读取(并因此执行)前面的源文本后执行。
我不确定你所说的“加载”是什么意思,但以下内容应该适用:
这应该以“简单”的方式解决您的问题,而无需使用计时器等。