对页面加载速度影响最大的就是图片,一张普通的图片可以达到几 M 的大小,因此大量加载图片可能需要很长时间。因此我们可以让不在可视范围内的图片加载,等到
滚到那个区域时再加载图片,这样可以提升页面的加载速度
原理
img 标签有一个 src 标签先把他指向一个小图片或者空的字符串,然后自定义一个属性 src
1 | img src="default.jpg" data-src="http://ww4.sinaimg.cn/large/006y8mN6gw1fa5obmqrmvj305k05k3yh.jpg" /> |
代码
当元素进入可见区域时,就把当前元素的 src 替换为 data-src
1 | function lazyload() { |
优化
可以使用防抖函数对其进行优化。防抖参照之前的文章