【发布时间】:2015-10-09 15:02:34
【问题描述】:
我对 Lazysizes 插件的动态集成有疑问。 事实是当我加载页面(缓存禁用)时,src 的所有图像都加载了内容。 在此之后,响应图像会像我想要的那样延迟加载。
我的反思:
- 我将 src 属性替换为一个小图像 - 但浏览器会在用这个小图像更改 src 之前一直加载原始图像。
- 页面加载时,所有图像都不会显示在视口中,因为我对每个图像都使用了填充比率技巧。
- 我尝试将我的脚本移到页眉中,但没有任何变化。
这是我在页面底部的 jquery 脚本:
//lazy init
window.lazySizesConfig = window.lazySizesConfig || {};
lazySizesConfig.loadMode = 2;
lazySizesConfig.preloadAfterLoad = false;
$('img').addClass('lazyload');
$("img.lazyload").each(function() {
var src = $(this).attr('src').replace(/\.jpg$/i, "");
$(this).attr("data-sizes","auto");
$(this).attr("data-srcset",
src + '-240.jpg 240w,' +
src + '-360.jpg 360w,' +
src + '-480.jpg 480w, ' +
src + '-720.jpg 720w,' +
src + '-768.jpg 768w,' +
src + '-960.jpg 960w,' +
src + '-1280.jpg 1280w'
);
$(this).attr(
"src",
"data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="
);
});
我希望只有响应式 img 在视口中加载。 对我的问题有任何想法吗?
谢谢
【问题讨论】:
-
我不知道你的问题,但你试试
$(document).ready(function(){...});和$(document).on("change","img",function(){...});??? -
目前我的脚本位于
$(document).ready- 我需要脚本的响应部分的 src 属性的内容,但我意识到我想在页面加载之前将其删除。有一种混乱。也许我也需要编写一个 php 脚本,但我是这种语言的新手。
标签: javascript jquery html image lazy-loading