如何保证图像的jQuery插件里面装的?(How to ensure images are load

2019-10-17 07:00发布

虽然创建所需的图像尺寸的jQuery插件,我发现了WebKit浏览器如Chrome经常返回0大小的图像,因为它们是并行加载。

我的快速和肮脏的解决办法是包装调用我的插件的代码$(window).load()事件:

$(document).ready(function() {
    $(window).load(function() {
        $('.magnifier').magnifier();
    });
});

我怎么会去实现这个插件本身里面? 什么是检测图像已加载,所以我可以衡量其尺寸的干净的方式?

Answer 1:

图片有一个负载()事件,所以你可以喜欢做一些事情:

$(document).ready(function() {
    $('.magnifier').magnifier();
});

$.fn.magnifier = function() {
    return this.each(function() {
        $(this).find('img').load(function() {
            // do something to image when it is loaded
        });
    });
}

你也可以简单地环绕插件本身内部window.load的代码:

$.fn.magnifier = function() {
    var that = this;
    $(window).load(function() {
        that.each(function() {
            $(this).find('img').each(function() {
                // image would be loaded at this point
            });
        });
    });
    return this;
}


Answer 2:

我不知道我完全理解,但所有的图像加载后,这将触发。

$("img").load(function() { 

});


文章来源: How to ensure images are loaded inside a JQuery plugin?