我正在使用jQuery的lazyload插件。
它工作正常,除了一个问题:在滚动之前,图像src没有被换出数据原件。一旦你滚动,甚至一点点,图像加载 - 但我需要它们在页面准备好时加载。
注意:这纯粹是Chrome / Safari问题。我在Firefox或Opera,甚至IE9中都没有这个问题。
我已经尝试过按照这篇文章的建议: http://sumanrs.wordpress.com/2011/02/08/jquery-lazy-loading-images-no-scrolling/ 这表明基本的jQuery库具有延迟加载的功能而无需插件。这似乎并非如此,因为图像只是在初始页面加载时加载。
非常感谢任何见解!
答案 0 :(得分:16)
您的图像很可能没有设置宽度和高度。 Webkit浏览器将在document.ready上看到零宽度和高度的图像。这意味着jQuery会认为图像不可见。 Lazy Load默认忽略不可见的图像。你有三个选择。
skip_invisible
设为false
。答案 1 :(得分:6)
$(window).resize();
帮助我。
答案 2 :(得分:4)
解决了我自己的问题:你必须在图像上设置高度和宽度!
答案 3 :(得分:3)
试试这个:
$('img.lazy').lazyload();
$(window).scroll();
答案 4 :(得分:3)
我有类似的问题。阈值选项为我解决了这个问题:
$("img.lazy").lazyload({
threshold : 400
});
答案 5 :(得分:1)
对我来说问题是我在$('img.lazy').lazyload()
ready
改为在load
内设置。
$(window).load(function(){
$('img.lazy').lazyload()
});
答案 6 :(得分:0)
您可以模仿/触发滚动事件以触发对页面加载的影响:http://api.jquery.com/scroll/
答案 7 :(得分:0)
我使用了延迟加载jquery插件,但加载是一个问题。 (即。)它在crome浏览器中更流畅。但不幸的是,它在mozilla火狐中无法正常工作。我从mozilla fire fox收到此通知(此页面上的脚本可能正忙,或者它可能已停止响应。您可以立即停止脚本,在调试器中打开脚本,或让脚本继续运行。)。所以只需回复任何更好的想法,以避免这个错误。
答案 8 :(得分:0)
我遇到了同样的问题。
解决了这个问题:
只需从页面上的第一张图片中替换“懒惰”类。
- )