jquery - 如何知道DIV中的所有元素是否已完全加载?

标签 jquery load

有一个 div,其中将通过 Ajax 加载一些元素(图像、iframe 等)。这些元素完全加载后,我需要为 div 执行一个函数。

如何确定 div 中的所有元素是否已完全加载?

我使用 jQuery 作为库。

最佳答案

对于图像和 iframe,您可以使用 load 事件:

// get all images and iframes
var $elems = $('#div').find('img, iframe');

// count them
var elemsCount = $elems.length;

// the loaded elements flag
var loadedCount = 0;

// attach the load event to elements
$elems.on('load', function () {
    // increase the loaded count 
    loadedCount++;

    // if loaded count flag is equal to elements count
    if (loadedCount == elemsCount) {
        // do what you want
        alert('elements loaded successfully');
    }
});

您应该在通过 Ajax 将元素附加到 #div 元素后执行上述脚本。

关于jquery - 如何知道DIV中的所有元素是否已完全加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26480844/

相关文章:

javascript - 从 .load() 加载时,.getScript() 不起作用

c++ - QT - 切换 .ui 的问题

javascript - jQuery 的 load() 不显示图像

javascript - 在没有 $.ajax() 的 AJAX 上设置超时

javascript - 当我到达某个点时使 div 滚动

jquery - 内联 CSS 有效,但 Jquery CSS 不适用于同一元素

jquery .load() 动态定位的 url

javascript - JS - 从动态添加的元素中获取点击事件的值

javascript - jquery获取所有表单元素属性和值

jquery - 使用 BackStretch.js 自动拉伸(stretch)现有背景图像?