很快,最好的优化方法是在你的 ajax 的成功函数中调用延迟加载:
$.ajax({
url: "your url here",
type: "Post",
success: function(response){
// handle your success callback here
$("img.lazy").lazyload({
effect : "fadeIn"
});
}
});
但是如果你想集中调用lazyload插件,你有两个选择:
第一:(不推荐,因为性能受到影响)
$(document).on('DOMNodeInserted', '#container', function() {
$("img.lazy").lazyload({
effect: 'fadeIn'
});
});
但请注意这里的“#container”,它是容器的选择器,您将在其中显示新加载的内容,因此上面的代码将在此容器内侦听任何新添加的内容,以便在新图像上再次运行延迟加载,
第二:(推荐)
通过将其添加到您的 JQuery 来调用您的自定义延迟加载:
$.fn.myLazyLoad = function() {
this.lazyload({
effect : "fadeIn"
});
};
然后,在所有 AJAX 请求中调用它:
$.ajax({
url: "your url here",
type: "Post",
success: function(response){
// handle your success callback here
$("img.lazy").myLazyLoad();
}
});