@程序员,一文掌握 Web 应用中的图片优化技巧!( 七 )
IntersectionObserver提供给我们一项能力:可以用来监听元素是否进入了设备的可视区域之内,这意味着我们等待图片元素进入可视区域后,再决定是否加载它,毕竟用户没看到图片前,根本不关心它是否已经加载了。这是Chrome51率先提出和支持的API,而在2019年的今天,各大浏览器对它的支持度已经有所改善(除了IE,全线崩~):
废话不多说,上代码。首先,假设我们有一个图片列表,它们的src属性我们暂不设置,而用data-src来替代:
这样会导致图片无法加载,这当然不是我们的目的,我们想做的是,当IntersectionObserver监听到图片元素进入可视区域时,将data-src"还给"src属性,这样我们就可以实现图片加载了:
constobserver = newIntersectionObserver( function(changes){
changes. forEach( function(element, index){
// 当这个值大于0,说明满足我们的加载条件了,这个值可通过rootMargin手动设置
推荐阅读
- 电子竞技|和平精英:掌握这些技巧,分分钟成车神
- edg战队|王者荣耀:一招鲜吃遍天?1个英雄想打5个位置?掌握这几个完全可以
- 网游|颠覆你认知的网游土豪,程序员加班为他改游戏,还送专属服务器
- 网易|永劫无间诡异宕机事件:网易机房过热,程序员竟然祭出了干冰?
- 法术|双城之战:羁绊、海克斯强化、装备一文看懂
- 甄姬|甄姬三技能的稳定性加强,掌握5个玩法技巧对上分有帮助
- 地下城与勇士|DNF:一次给3张传说卡片!讨伐战S级奖励技巧,掌握两个要领就行
- 热血传奇|热血传奇:提升幸运属性实在太难?只是你没掌握到方法
- 庄周|敌方边路选择庄周应该如何应对?选择这些对位英雄就能掌握先机!
- 手机游戏|LOL手游掌握了流量密码,社交玩法才是国内手游的主旋律?