JS实现图片延迟加载并淡入淡出效果的简单方法


Posted in Javascript onAugust 25, 2016

话不多说,直接看示例

首先是图片标记的写法

<img data-src="/images/image.jpg" alt="">

需要将图片的地址放到 data-src 属性里,而src值不需要,直接将src属性去掉。

CSS代码

所有具有data-src属性的图片,我们将其初始显示状态为不可见,通过透明度来调节:

img {
 opacity: 1;
 transition: opacity 0.3s;
}

img[data-src] {
 opacity: 0;
}

这样写的作用是什么?等当图片加载时,你就能看的效果了。

JavaScript代码

我们最终会将 data-src 属性去掉,换成src属性,但这是图片加载成功后的动作:

[].forEach.call(document.querySelectorAll('img[data-src]'), function(img) {
 img.setAttribute('src', img.getAttribute('data-src'));
 img.onload = function() {
 img.removeAttribute('data-src');
 };
});

相比起其它各种的图片延迟加载技术,这种方法非常的简单,它几乎不要求其它任何条件,可以用在任何地方,使用起来非常灵活。

但是要注意的是,简单有简单的好坏,也会因为简单而不足。它不具有图片图片滚动到可视窗口内再加载的功能。最终使用哪种技术,还是要看场景而定。

以上就是本文的全部内容,希望对大家的工作和学习能有所帮助。

Javascript 相关文章推荐
关于IE7 IE8弹出窗口顶上
Dec 22 Javascript
图片在浏览器中底部对齐 解决方法之一
Nov 30 Javascript
基于jQuery的遍历同id元素 并响应事件的代码
Jun 14 Javascript
根据选择不同的下拉值出现相对应的文本输入框
Aug 01 Javascript
jquery easyui combobox模糊过滤(示例代码)
Nov 30 Javascript
Jquery获取元素的父容器对象示例代码
Feb 10 Javascript
jquery插件开发之实现google+圈子选择功能
Mar 10 Javascript
JavaScript开发者必备的10个Sublime Text插件
Feb 27 Javascript
Node.js中使用mongoose操作mongodb数据库的方法
Sep 12 Javascript
详解Node.js中的Async和Await函数
Feb 22 Javascript
js计时事件实现圆形时钟
Mar 25 Javascript
使用Vue实现一个树组件的示例
Nov 06 Javascript
JavaScript中闭包之浅析解读(必看篇)
Aug 25 #Javascript
jquery点击切换背景色的简单实例
Aug 25 #Javascript
浅析Javascript ES6中的原生Promise
Aug 25 #Javascript
微信JS接口大全
Aug 25 #Javascript
JS解决iframe之间通信和自适应高度的问题
Aug 24 #Javascript
浅析Javascript ES6新增值比较函数Object.is
Aug 24 #Javascript
js图片上传前预览功能(兼容所有浏览器)
Aug 24 #Javascript
You might like
40年前的这部特摄片恐龙特级克塞号80后的共同回忆
2020/03/08 日漫
用 PHP5 轻松解析 XML
2006/12/04 PHP
PHP mail 通过Windows的SMTP发送邮件失败的解决方案
2009/05/27 PHP
在php中判断一个请求是ajax请求还是普通请求的方法
2011/06/28 PHP
SCP远程VPS快速搬家和WDCP升级php5.3安装memcached和eaccelerator教程
2017/07/27 PHP
PHP面向对象五大原则之接口隔离原则(ISP)详解
2018/04/04 PHP
PHP多维数组指定多字段排序的示例代码
2018/05/16 PHP
thinkphp框架使用JWTtoken的方法详解
2019/10/10 PHP
div移动 输入框不能输入的问题
2009/11/19 Javascript
推荐20家国外的脚本下载网站
2011/04/28 Javascript
js 处理数组重复元素示例代码
2013/12/27 Javascript
jquery ajax传递中文参数乱码问题及解决方法说明
2014/02/07 Javascript
用js判断是否为360浏览器的实现代码
2015/01/15 Javascript
JQuery实现图片轮播效果
2017/05/08 jQuery
详解AngularJS ng-class样式切换
2017/06/27 Javascript
原生JS实现自定义滚动条效果
2020/10/27 Javascript
基于vue-ssr的静态网站生成器VuePress 初体验
2018/04/17 Javascript
浅谈bootstrap layer.open中end的使用方法
2019/09/12 Javascript
基于JavaScript实现猜数字游戏代码实例
2020/07/30 Javascript
JavaScript中的Proxy对象
2020/11/27 Javascript
运用TensorFlow进行简单实现线性回归、梯度下降示例
2018/03/05 Python
一份python入门应该看的学习资料
2018/04/11 Python
Python之使用adb shell命令启动应用的方法详解
2019/01/07 Python
flask框架路由常用定义方式总结
2019/07/23 Python
DHC中国官方购物网站:日本通信销售No.1化妆品
2016/08/20 全球购物
Eyeko美国:屡获殊荣的睫毛膏、眼线笔和眉妆
2018/07/05 全球购物
阿姆斯特丹杜莎夫人蜡像馆官方网站:Madame Tussauds Amsterdam
2019/03/12 全球购物
Madewell澳大利亚官方网站:美国休闲服饰品牌
2019/07/18 全球购物
影视动画专业个人的自我评价
2013/12/31 职场文书
内业资料员岗位职责
2014/01/04 职场文书
清华大学自主招生自荐信
2014/01/29 职场文书
档案工作汇报材料
2014/08/21 职场文书
审计局班子四风对照检查材料思想汇报
2014/10/07 职场文书
先进典型发言材料
2014/12/30 职场文书
出国留学导师推荐信
2015/03/26 职场文书
学校教学工作总结2015
2015/05/19 职场文书