我目前正在使用 Jquery Lazy Load我想知道当我的容器中的所有图像结束加载时(当延迟加载发挥了所有魔力时)是否有一种方法可以进行回调。
原因是我正在使用jScrollPane Plugin我也想调用 jScrollPane 重新初始化函数。
谢谢
最佳答案
查看源代码,延迟加载插件似乎在加载图像后调用 settings.load
函数,传递加载的图像元素和几个参数:
if (settings.load) {
var elements_left = elements.length;
settings.load.call(self, elements_left, settings);
}
因此您可能需要设置如下内容:
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
});
如果您想确保图像已加载,可以将监听器附加到加载的图像:
function yourhandler(element, el_left, settings) {
element.load(function() {
alert('Image Loaded');
});
}
编辑
尝试代码后,最“干净”的方法是附加到图像的 .load
方法:
$('img.lazy').load(function() {
console.log($(this).attr('src') + ' loaded');
});
$('img.lazy').lazyload({
container:$('.p_content'),
});
关于Jquery 延迟加载回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11398005/