Jquery Lazyload回调

Alv*_*aro 13 jquery lazy-loading callback jquery-plugins jscrollpane

我目前正在使用Jquery Lazy Load,我想知道是否有一种方法可以在我的容器中的所有图像结束加载时进行回调(当懒惰加载完成了他所有的魔法时).

这样做的原因是我也在使用jScrollPane插件,我想调用jScrollPane reinitialize函数.

谢谢'

VAS*_*hhh 22

看一下源代码,似乎延迟加载插件settings.load在加载通过加载的图像元素的图像和几个参数后调用该函数:

if (settings.load) {
    var elements_left = elements.length;
    settings.load.call(self, elements_left, settings);
}
Run Code Online (Sandbox Code Playgroud)

所以你可能需要设置这样的东西:

function yourhandler(element, el_left, settings) {
    //Whatever you want
    //This function will be called each time that an image (element in this case) is loaded
}
$("img.lazy").lazyload({ 
    load : yourhandler
});
Run Code Online (Sandbox Code Playgroud)

如果要确保加载图像,可以将监听器附加到加载的图像:

function yourhandler(element, el_left, settings) {
    element.load(function() {  
        alert('Image Loaded');  
    });
}
Run Code Online (Sandbox Code Playgroud)

编辑

在尝试代码之后,最"干净"的方法是附加到.load图像的方法:

$('img.lazy').load(function() {
    console.log($(this).attr('src') + ' loaded');
});

$('img.lazy').lazyload({
    container:$('.p_content'),
});?
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/eRyww/72/