lazylod与scrollLoading为什么都需要给图片加width与height才可生效
刚才需要做一个手机自适应网页,里面用到很多图,于是就想用lazyload或scrollLoading.js来延迟加载,可是问题来了,这2个插件都需要给图片加width="xxx" height="xxx"才可以生效。(如图)
这就导致了图片的宽或高是固定的,无法自适应。
所以,怎么样才可以使用lazylod或scrollLoading.js的同时,其对应的图片也自适应呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
固定宽和高可以更加精确的知道图片的位置,也就可以算出什么时候图片在可视区域中。
可以自己写一个lazyload, 不难。
关键的地方就在于页面滚动的距离(scrollTop),图片距离页面顶部的偏移量(jQuery.offset)和可是区域的大小(clientHeight 和 clientWidth)。
既然是lazyload, 最好是在接近图片的时候就加载图片,这样可以在到达图片位置时,图片已经在加载货加载完成了。
这个没有办法,如果你不加宽和高的话,那么插件就没有地方可以知道了。
有一个折中的方法就是有一个默认的图片,这个图片是第一个加载的,在真正的图片加载完成之前做一个占位符。这样就有了宽和高了。
最后找到解决办法了吗