我已经搜索了如何在for循环中使用setTimeOut
,但是如何在while循环中使用它并没有太多,我也不明白为什么应该有太大的区别。我已经写了以下代码的一些变体,但是这个循环似乎使浏览器崩溃:setTimeout while while循环
while(src == '')
{
(function(){
setTimeout(function(){
src = $('#currentImage').val();
$("#img_"+imgIdx).attr('src',src);
}, 500);
});
}
为什么?
基本上我已图像动态创建的,其源极属性需要时间,有时加载,所以我才可以显示它,我需要保持检查是否它加载与否,并且只有当它的路径是在$('#currentImage')
可用,则我会显示它吗?
此代码工作正常之前,我用了while循环,当我直接做
setTimeout(function(){
src = $('#currentImage').val();
$("#img_"+imgIdx).attr('src',src);
}, 3000);
但我不希望有使用户等待3秒钟,如果加载可能会做得更快,因此我把setTimeOut
放在一个while循环中并缩短了它的间隔,这样我每半秒只检查一次加载的路径。那有什么问题?
不,settimeout将该函数作为参数并稍后执行。 – jrdn
@jrdn我不是在谈''setTimeout'里面的那个,我正在谈论外面的那个。顺便提一下,函数声明实际上并不需要。 –
啊。那个也是。所以是的,我的回答是错误的。这只是一个普通的无限循环! – jrdn