用javascript实现图片模糊到清晰载效果指南
来源:才华咖 本文已影响1.29W人
来源:才华咖 本文已影响1.29W人
1.背景介绍
在网络相册应用中用户查看照片是最朴素的需求,当网络比较慢的时候查看照片等待的时间是比较长的,用户体验会很差。
2.现状
现在加载照片的方法主要有一下两种:
(1)最原始的方式在html页面直接用img标签加载显示照片。该方法在网络速度比较慢或者要显示的照片比较大的'时候会页面出现空白的等待过程,并且不能开始给用户看到照片大概的情况,用户体验比较不好。
(2)在html页面先用img标签加载显示照片的缩略图,同时用javascript隐藏的加载照片的原图,等照片大图加载完成后再将原图显示到页面中。以下是流程图:
3.我们的解决方案
QQ相册最近做的一些优化方法解决了上诉两个方法的缺点和满足了用户查看照片的需求:第一时间看到照片大概情况和尽可能快的看到清晰的原图。该方法使用缩略图和原图同时加载并叠加显示,先加载缩略图并拉大显示,大图叠加在缩略图上面同时加载。缩略图很小通常很快就能给用户看到照片模糊的效果,大图加载过程中从上往下逐步覆盖缩略图,这样用户就可以看到加载过程中的大图。
(1)示例图
如上如所示,本方法的处理步骤是:
1).获取照片缩略图和原图的URL,获取照片的长和宽;
2).加载并显示照片缩略图,将缩略图按照片的长和宽拉伸显示,这时用户看到的是模糊的效果;
3).加载并显示照片原图,将原图叠加在缩略图上面显示,原图加载多少就显示多少,没有加载的还是显示缩略图,逐步将缩略图覆盖掉,原图在加载的过程中用户看到的是照片从模糊到清晰的渐变效果。
4).原图加载完后,原图已经全部将缩略图覆盖,这时用户看到的是真实的原图。此时可以隐藏缩略图防止缩略图干扰PNG或GIF等有透明效果的图片显示。
(2)示例代码
Javascript到PHP加密通讯的简单实现
关于ASP.NET使用JavaScript显示信息提示窗口实现原理及代码
如何使用JavaScript实现倒计时
如何基于JavaScript实现本地图片预览
JavaScript如何实现JSON.stringify
javaScript实现可缩放显示区效果代码
用 Javascript 实现锚点(Anchor)间平滑跳转
JavaScript经典效果集锦
Javascript到PHP加密通讯的简单实现方法
javascript是如何实现命名空间效果
JavaScript ES6中CLASS的使用指南
JavaScript-JavaScript数据结构和算法之图和图算法,
javascript写的异步加载js文件函数
有关javascript实现的多个层切换效果通用函数示例
JavaScript简单实现放大镜效果代码
使用ajax操作JavaScript对象的方法
CSS3实现“红包照片”模糊效果
JavaScript与java语言有何不同
Javascript 继承实现例子参考
Javascript实现跨域的要点分析
关于JavaScript中isPrototypeOf函数作用和使用实例
php和javascript之间变量的传递实现代码
java与JavaScript语言有何不同
图表作文写作指南
常用的JavaScript模式
怎样实现演讲的预期效果
清晰模糊的记得300字作文
Java与JavaScript的区别
JavaScript与java语言有何区别
Javascript实例教程如何使用HoTMetal
在Java中执行JavaScript代码
JavaScript实现网页刷新代码段
2017最新javascript中AJAX用法
Javascript应用到网页中的方法
javascript中setInterval的用法总结
JavaScript与Java的区别
JavaScript与java语言的区别
JavaScript中push(),join() 函数实例详解
关jQuery弹出窗口简单实现代码-javascript编程
Javascript和Java语言间的异同比较