发布网友 发布时间:2022-05-14 02:33
共2个回答
懂视网 时间:2022-05-14 06:55
通过css控制,可以实现加载网络图片时,未加载完成的时候显示本地一张占位图,加载完成后显示网络图片;原理:通过在img标签的after伪元素上添加一张占位图,并且img都设置为position:relative;after设置position:absolute;img标签的src为网络图片,这样加载的时候由于网络图片没加载完成,就会显示本地图片,下面案例中的js是为了效果明显而故意延时设置img的src属性。
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <style> img { position: relative; } img::after { content: ""; height: 100%; width: 100%; position: absolute; left: 0; top: 0; background: url(iphonex.png ) no-repeat center; } </style></head><body> <img src=""></body><script> setTimeout(function() { document.querySelectorAll("img")[0].src = 'http://upload-images.jianshu.io/upload_images/7450593-65067eb4cf76d882.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240'; }, 3000);</script></html>
福利一:前端,Java,产品经理,微信小程序,Python等资源合集大放送:https://www.jianshu.com/p/e8197d4d9880
福利二:微信小程序入门与实战全套详细视频教程:https://www.jianshu.com/p/e8197d4d9880
热心网友 时间:2022-05-14 04:03
我写了两个test,第一个是先有占位图(这个你自己在原始img上加个src即可),无论你是否浏览下部,下面的图片都会依次预加载进去
第二个是根据滚动条进行判断,当你的将要看到此图片时只进行加载将要看到的图片(这个我觉得如果img小的话直接替换对应img的src也是可以的)
我手中没有大图,看到的效果大概是可以的,如果你觉得不合适或者未达到理想的效果可以追问或者
181 0095 497最后预祝马年大吉