现在我遇到了2张图片的问题。有两个图像png(上层图像)和jpg图像(下层图像),并且大小相同,因此,如果我将两个图像重叠,则看起来就像一个图像。

问题是我必须在两个图像上都设置一个加载事件:

        $('#largeText,#largeImg').hide("slide", {
            direction: "right"
        }, 1000, function () {
            $('#largeImg').attr('src', newImagePath);
            $('#largeText').attr('src', newTextPath);
            $('#largeText,#largeImg').load(function () {
                $('#loadingIcon').hide();
                $('#largeText,#largeImg').delay(300).show("slide", {
                    direction: "left"
                }, 1000, function () {
                    $('#largeText,#largeImg').unbind('load');
                });
            });
        });


您可能会注意到,如果我使用$('#largeText,#largeImg')。load(function(),它将触发事件之一加载图像?如何设置加载事件仅在加载两个图像时触发? 谢谢。

最佳答案

您可以在load函数中有一个计数器,当计数器达到2时,执行您的代码。

var count = 0;
$('#largeText,#largeImg').load(function () {
  count++;
  if (count == 2){
    $('#loadingIcon').hide();
    $('#largeText,#largeImg').delay(300).show("slide", {
        direction: "left"
    }, 1000, function () {
        $('#largeText,#largeImg').unbind('load');
    });
  }
});

10-02 17:52