web前端图片加载优化,从图片模糊到清晰的实现过程


在网页图片显示的时候,会发现许多网站采用了先模糊,然后在慢慢清晰的过程,这样的加载用户体验是比较好的,那么如何实现呐?

 

默认加载2张图片,一张缩略图,一张原图,当打开网页的时候默认只显示缩略图,然后我们把缩略图模糊处理后按照原图尺寸显示,这样做的目的是为了提高用户体验;

使用js去监听原图的加载,当原图加载成功后,我们把缩略图隐藏,让原图显示出来。这样就实现了图片由模糊变成清晰的过程,为了让变化有渐变效果,我们需要使用到css的transition属性。具体代码实现如下:

 

html:

1 <div class="box">
2   <img src="" class="bg"/>
3   <img src="" class="show_img"/> 
4 </div>

 

 

css:

 1 .box{
 2     position: relative;overflow: hidden;height: 300px;width: 300px;
 3 }
 4 .box img{
 5     width: 100%;height: 100%;
 6 }
 7 .box .bg{/*缩略图*/
 8     display: block;filter: blur(15px);transform: scale(1);
 9 }
10 .box .show_img{/*加载完成显示的实际图*/
11     position: absolute;opacity: 0;top: 0;left: 0;transition: opacity 1s linear;
12 }

51220网站目录 https://www.51220.cn

 

js:

1 <script>
2 var show_img=document.querySelector('.show_img'),
3 /*图片加载完成*/  
4 show_img.onload = function () {
5     show_img.style.opacity="1";
6 };
7 </script>

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM