在很多时候,我们的页面会显示大量的图片,若要等待所有图片都呈现出来则会影响页面的响应速度。今天共享一个DIY的利用JS来延迟加载图片的插件。
大概的实现方式是:页面的定义元素img时,将src统一替换成自定义的一个属性名,如叫“originalSrc”,然后利用JS把给img的src设置为一个定义好的等待图片,然后在scroll事件触发时,把img元素位置正好在浏览器显示范围内把“originalSrc”属性值赋予"src",然后移除“originalSrc”属性。
原来是打算不破坏页面元素结构风格,不添加“originalSrc”属性,直接通过面页加载时,通过JS将img的src替换成originalSrc,可是那样的话就不能真正达到延迟加载的效果。因为在页面必竟在加载时还是加载了图片部分,然后停上。所以该方法从总体上看还是做不够,最后决定还是在页面元素img里加上“originalSrc”属性如:<img originalsrc="图片地址"/>。
如果页面中存在图片,如:
具体JS调用代码如下: