jQuery - 加载3个iframe时发出警报

时间:2013-01-24 17:17:45

标签: jquery

我的网站上有三个iframe,我不拥有src。

HTML

    <iframe id="iframe" src="http://a.com"></iframe>
    <iframe id="iframe" src="http://b.com"></iframe>
    <iframe id="iframe" src="http://c.com"></iframe>

的jQuery

$('iframe').load(function(){
     alert("Loaded");
});

问题:消息“已加载”显示三次。我希望messaje“Loaded”只显示一次,就像所有iframe加载一样。

1 个答案:

答案 0 :(得分:4)

您可以使用计数器变量来计算iframe触发加载事件的次数。只有在计数器达到3时才能显示警报。

count = 0;    
$('iframe').load(function(){
     count++;
     if(count == 3)
        alert("Loaded");
});

修改:在加载页面中的所有iframe时发出警报。我们可以在doucment.ready中找到iframe的总数,以确保我们获得所有iframe。

count = 0;   
totalFrames = 0; 
$(function(){
    totalFrames = $('iframe').length;
});
$('iframe').load(function(){
     count++;
     if(count == totalFrames)
        alert("Loaded");
});