不知道你有没有经历过这样的场景:当你打开一张“多图杀猫”的页面后,正一张图一张图边滚边看,在你刚准备定睛看某一张图的时候,这张图突然被它上面的内容挤到了视口下方,然后你赶紧把滚动条往下拉,试图追赶这张没看完的图,当你刚刚追上的时候,这张图又一次被挤到了你看不见的地方。
发生这种情况的原因是因为在很多场景下(比如论坛里),你没法事先知道一张图的高度,所以你没法事先给这张图占位,在网速不理想的情况下,可能就会发生我上面描述的这种因页面靠上的图片比靠下的图片晚加载出来而导致用户当前浏览的内容被频繁挤出视口的情况。
我通过在定时器回调里向页面上方插入图片来模拟一下刚才描述的这种情况:
<style> img { display: block; margin: 0 auto; } </style> <img src="https://aecpm.alicdn.com/tfscom/TB1.52aPFXXXXa0XXXXXXXXXXXX.jpg"> <img src="https://aecpm.alicdn.com/tfscom/TB1_utRPVXXXXapXVXXXXXXXXXX.png"> <img src="https://static.dingtalk.com/media/lAHOuOFd_czSzQEn_295_210.gif"> <img src="https://aecpm.alicdn.com/tfscom/TB1f1xwQpXXXXXBXVXXXXXXXXXX.jpg"> <img src="https://gtms03.alicdn.com/tps/i3/TB1eSxvJVXXXXaKXFXXYoA