Jquery为2 img元素加载事件

时间:2013-06-14 03:51:33

标签: javascript jquery html image load

现在我遇到了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(),它会触发事件其中一个图像被加载?如何设置?加载事件仅在两个图像都加载时触发?谢谢。

1 个答案:

答案 0 :(得分:1)

你可以在加载函数中有一个计数器,当它达到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');
    });
  }
});