当所有onload事件在jQuery的$ .each循环内完成时调用函数?

时间:2017-02-06 03:01:06

标签: javascript jquery caching each onload

我正在使用jQuery的$ .each函数迭代图像数组并预加载它们。我也在使用onload事件,以便在图像加载完成后我可以执行其他功能。一旦所有图像都完成,我怎么知道?

var array = ["1.jpg", "2.jpg", "3.jpg", "4.jpg"];

function preloadAndDoStuff(array) {
    $.each(array, function(i, url) {
        var img = new Image();

        img.onload = function() {
            /* Some functionality here
            * that is only possible when
            * an image has finished loading */

            console.log(img.src + " loaded");
        }

        img.src = url;
    });
}

preloadAndDoStuff(array);

// 1.jpg loaded
// 2.jpg loaded
// 3.jpg loaded
// 4.jpg loaded

在我的示例中,我只需要一个日志而不是X量的日志。如果它意味着什么:数组的长度将不断变化。

0 个答案:

没有答案