我已经搜索了如何使用setTimeOut
for 循环,但是关于如何将它与 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 循环并缩短了它的间隔,这样我只每半秒检查一次加载的路径。那有什么问题?