我在一个页面上有一堆图像,出于本网站的目的,客户希望图像不要以正常方式加载,它们会慢慢出现,逐行渲染。
相反,我们要做的是等到图像加载完毕,在图像加载时,在它的位置显示一点加载 gif。加载每个图像时,它都会淡入。
到目前为止,我为此所做的是:
$('img').each(function(){
$(this).load(function(){
$(this).fadeIn();
});
});
按预期工作。但我想把它提升到一个新的水平。
假设此页面上有 20 张图片,但一次在页面上只能看到 1 或 2 张图片。然后,我希望其他 18 个不要被加载,除非浏览器向下滚动以使这些明显。
我知道有一些插件可以做到这一点——比如lazyload——但我对这些插件没有很好的效果。
如何使用 jquery 或 javascript 检查图像是否在当前视口中?
- 我的 each() 函数最初只会遍历可见图像
- 当图像进入视野时,它们会加载,然后淡入淡出。
谢谢你的时间。